Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
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 standard library. Private Function

check

Private Function
std.fmt.float.check
fn check(comptime T: type, value: T, comptime expected: []const u8) !void

Params

  • T: type
  • value: T
  • expected: []const u8

File

fmt/float.zig:1518
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
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);
    }
}