hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

commit b2c22450121cc6776b7812f83864002af92416f3
parent 5d44c3620a73065e2ef83ceed707de9ad5685e67
Author: Sebastian <sebastian@sebsite.pw>
Date:   Sun,  1 Dec 2024 20:25:35 -0500

math: change type of F32_*_MASK to u32

Signed-off-by: Sebastian <sebastian@sebsite.pw>

Diffstat:
Mmath/floats.ha | 8++++----
Mstrconv/ftos.ha | 2+-
2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/math/floats.ha b/math/floats.ha @@ -40,10 +40,10 @@ export def F64_MANTISSA_MASK: u64 = (1 << F64_MANTISSA_BITS) - 1; export def F64_EXPONENT_MASK: u64 = (1 << F64_EXPONENT_BITS) - 1; // Mask with each bit of an f32's mantissa set. -export def F32_MANTISSA_MASK: u64 = (1 << F32_MANTISSA_BITS) - 1; +export def F32_MANTISSA_MASK: u32 = (1 << F32_MANTISSA_BITS) - 1; // Mask with each bit of an f32's exponent set. -export def F32_EXPONENT_MASK: u64 = (1 << F32_EXPONENT_BITS) - 1; +export def F32_EXPONENT_MASK: u32 = (1 << F32_EXPONENT_BITS) - 1; // The largest representable f64 value which is less than Infinity. export def F64_MAX_NORMAL: f64 = 1.7976931348623157e+308; @@ -301,8 +301,8 @@ export fn frexpf32(n: f32) (f32, i64) = { const normal_float = normalized.0; const normalization_exp = normalized.1; const bits = f32bits(normal_float); - const raw_exp: u64 = ((bits >> (F32_MANTISSA_BITS: u32)) & - (F32_EXPONENT_MASK: u32)); + const raw_exp: u64 = (bits >> F32_MANTISSA_BITS) + & F32_EXPONENT_MASK: u32; const exp: i64 = normalization_exp + (raw_exp: i64) - (F32_EXPONENT_BIAS: i64) + 1; const mantissa: f32 = diff --git a/strconv/ftos.ha b/strconv/ftos.ha @@ -319,7 +319,7 @@ export fn fftosf( yield (mantissa, exponent, sign, special); case let n: f32 => const bits = math::f32bits(n); - const mantissa = bits & math::F32_MANTISSA_MASK; + const mantissa: u64 = bits & math::F32_MANTISSA_MASK; const exponent = ((bits >> math::F32_MANTISSA_BITS) & math::F32_EXPONENT_MASK): u32; const sign = bits >> (math::F32_EXPONENT_BITS +