diff --git a/core/math/math.odin b/core/math/math.odin index 0d8873071..dddff4079 100644 --- a/core/math/math.odin +++ b/core/math/math.odin @@ -203,7 +203,8 @@ pow10_f64 :: proc "contextless" (n: f64) -> f64 { return 0 } -pow2_f64 :: proc(#any_int exp: int) -> (res: f64) { +@(require_results) +pow2_f64 :: proc "contextless" (#any_int exp: int) -> (res: f64) { switch { case exp >= -1022 && exp <= 1023: // Normal return transmute(f64)(u64(exp + F64_BIAS) << F64_SHIFT) @@ -221,7 +222,8 @@ pow2_f64 :: proc(#any_int exp: int) -> (res: f64) { unreachable() } -pow2_f32 :: proc(#any_int exp: int) -> (res: f32) { +@(require_results) +pow2_f32 :: proc "contextless" (#any_int exp: int) -> (res: f32) { switch { case exp >= -126 && exp <= 127: // Normal return transmute(f32)(u32(exp + F32_BIAS) << F32_SHIFT) @@ -236,7 +238,8 @@ pow2_f32 :: proc(#any_int exp: int) -> (res: f32) { unreachable() } -pow2_f16 :: proc(#any_int exp: int) -> (res: f16) { +@(require_results) +pow2_f16 :: proc "contextless" (#any_int exp: int) -> (res: f16) { switch { case exp >= -14 && exp <= 15: // Normal return transmute(f16)(u16(exp + F16_BIAS) << F16_SHIFT)