aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2023-11-11 14:06:48 +0100
committerJeroen van Rijn <Kelimion@users.noreply.github.com>2023-11-11 14:06:48 +0100
commitdd9b0ae4e5fd53adc9efc98fcb14aba31521bb66 (patch)
treef64b2895728cca4642ebd6ca42f162986679ddc9
parent3b5d28f0ee34792f4580006d68c2d66e99c1e064 (diff)
Make pow2_f{16,32,64} contextless for consistency.
-rw-r--r--core/math/math.odin9
1 files changed, 6 insertions, 3 deletions
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)