Function float [src]

Serialize a float.

Prototype

pub fn float(self: *Serializer, val: anytype) Error!void

Parameters

self: *Serializer

Possible Errors

WriteFailed Error

See the Writer implementation for detailed diagnostics.

Source

pub fn float(self: *Serializer, val: anytype) Error!void { switch (@typeInfo(@TypeOf(val))) { .float => if (std.math.isNan(val)) { return self.writer.writeAll("nan"); } else if (std.math.isPositiveInf(val)) { return self.writer.writeAll("inf"); } else if (std.math.isNegativeInf(val)) { return self.writer.writeAll("-inf"); } else if (std.math.isNegativeZero(val)) { return self.writer.writeAll("-0.0"); } else { try self.writer.print("{d}", .{val}); }, .comptime_float => if (val == 0) { return self.writer.writeAll("0"); } else { try self.writer.print("{d}", .{val}); }, else => comptime unreachable, } }