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 standard library.
std › math › float › FloatRepr › classify Private Function classify Doc Source Private Function std.math.float.FloatRepr.classify
fn classify (repr : Repr ) Classified Params File math/float.zig: 139
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158 fn classify (repr : Repr ) Classified {
return switch (repr .exponent ) {
.denormal => {
const mantissa : Mantissa = repr .mantissa ;
const shift = @clz (mantissa );
return .{ .normalized = .{
.fraction = @truncate (mantissa << shift ),
.exponent = @as (Normalized .Exponent , comptime BiasedExponent .min_normal .unbias ()) - shift ,
} };
},
else => if (repr .mantissa <= std .math .maxInt (Normalized .Fraction )) .{ .normalized = .{
.fraction = @intCast (repr .mantissa ),
.exponent = repr .exponent .unbias (),
} } else .invalid ,
.infinite => switch (repr .mantissa ) {
0 => .infinity ,
else => .nan ,
},
};
}