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/ › fmt/ › float.zig › check
check
float.check
fn check (comptime T : type , value : T , comptime expected : []const u8 ) !void
File
Code
fn check (comptime T : type , value : T , comptime expected : []const u8 ) !void {
const I = @Int (.unsigned , @bitSizeOf (T ));
var buf : [6000 ]u8 = undefined ;
const value_bits : I = @bitCast (value );
const s = try render (&buf , value , .{});
try std .testing .expectEqualStrings (expected , s );
if (T == f80 and builtin .target .os .tag == .windows and builtin .target .cpu .arch == .x86_64 ) return ;
const o = try std .fmt .parseFloat (T , s );
const o_bits : I = @bitCast (o );
if (std .math .isNan (value )) {
try std .testing .expect (std .math .isNan (o ));
} else {
try std .testing .expectEqual (value_bits , o_bits );
}
}