DoxigAlpha

isFinite

Returns whether x is a finite value.

Function parameters

Parameters

#
x:anytype

Returns whether x is a finite value.

Functions

#
isFinite
Returns whether x is a finite value.

Source

Implementation

#
pub fn isFinite(x: anytype) bool {
    const T = @TypeOf(x);
    const TBits = std.meta.Int(.unsigned, @typeInfo(T).float.bits);
    const remove_sign = ~@as(TBits, 0) >> 1;
    return @as(TBits, @bitCast(x)) & remove_sign < @as(TBits, @bitCast(math.inf(T)));
}