pub const F80 = struct fraction: u64exp: u161747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763pub 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)),
};
}
}