Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › priority_dequeue.zig › fuzzTestMinMax
fuzzTestMinMax
priority_dequeue.fuzzTestMinMax
fn fuzzTestMinMax (rng : std .Random , queue_size : usize ) !void
File
Code
fn fuzzTestMinMax (rng : std .Random , queue_size : usize ) !void {
const gpa = std .testing .allocator ;
const items = try generateRandomSlice (gpa , rng , queue_size );
var queue : MinHeap = .fromOwnedSlice (items , {});
defer queue .deinit (gpa );
var last_min : ?u32 = null ;
var last_max : ?u32 = null ;
var i : usize = 0 ;
while (i < queue_size ) : (i += 1 ) {
if (i % 2 == 0 ) {
const next = queue .popMin ().?;
if (last_min ) |last | {
try expect (last <= next );
}
last_min = next ;
} else {
const next = queue .popMax ().?;
if (last_max ) |last | {
try expect (last >= next );
}
last_max = next ;
}
}
}