structstd.math.F80[src]

Fields

fraction: u64
exp: u16

Functions

FunctiontoFloat[src]

pub fn toFloat(self: F80) f80

Parameters

self: F80

Source Code

Source code
pub fn toFloat(self: F80) f80 {
    const int = (@as(u80, self.exp) << 64) | self.fraction;
    return @as(f80, @bitCast(int));
}

FunctionfromFloat[src]

pub fn fromFloat(x: f80) F80

Parameters

x: f80

Source Code

Source code
pub fn fromFloat(x: f80) F80 {
    const int = @as(u80, @bitCast(x));
    return .{
        .fraction = @as(u64, @truncate(int)),
        .exp = @as(u16, @truncate(int >> 64)),
    };
}

Source Code

Source code
pub const F80 = struct {
    fraction: u64,
    exp: u16,

    pub fn toFloat(self: F80) f80 {
        const int = (@as(u80, self.exp) << 64) | self.fraction;
        return @as(f80, @bitCast(int));
    }

    pub fn fromFloat(x: f80) F80 {
        const int = @as(u80, @bitCast(x));
        return .{
            .fraction = @as(u64, @truncate(int)),
            .exp = @as(u16, @truncate(int >> 64)),
        };
    }
}