From ddedddc16d6b7524275c39f01551bef00c6aacd0 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Tue, 15 Apr 2025 16:17:02 +0200 Subject: [PATCH] Get rid of duplicate `math.signbit` in favor of `math.sign_bit` --- core/math/math.odin | 26 -------------------------- core/math/math_gamma.odin | 2 +- vendor/raylib/raymath.odin | 4 ++-- 3 files changed, 3 insertions(+), 29 deletions(-) diff --git a/core/math/math.odin b/core/math/math.odin index c8df8dbab..b99a97bc1 100644 --- a/core/math/math.odin +++ b/core/math/math.odin @@ -2349,32 +2349,6 @@ nextafter :: proc{ nextafter_f64, nextafter_f64le, nextafter_f64be, } -@(require_results) -signbit_f16 :: proc "contextless" (x: f16) -> bool { - return (transmute(u16)x)&(1<<15) != 0 -} -@(require_results) -signbit_f32 :: proc "contextless" (x: f32) -> bool { - return (transmute(u32)x)&(1<<31) != 0 -} -@(require_results) -signbit_f64 :: proc "contextless" (x: f64) -> bool { - return (transmute(u64)x)&(1<<63) != 0 -} -@(require_results) signbit_f16le :: proc "contextless" (x: f16le) -> bool { return signbit_f16(f16(x)) } -@(require_results) signbit_f32le :: proc "contextless" (x: f32le) -> bool { return signbit_f32(f32(x)) } -@(require_results) signbit_f64le :: proc "contextless" (x: f64le) -> bool { return signbit_f64(f64(x)) } -@(require_results) signbit_f16be :: proc "contextless" (x: f16be) -> bool { return signbit_f16(f16(x)) } -@(require_results) signbit_f32be :: proc "contextless" (x: f32be) -> bool { return signbit_f32(f32(x)) } -@(require_results) signbit_f64be :: proc "contextless" (x: f64be) -> bool { return signbit_f64(f64(x)) } - -signbit :: proc{ - signbit_f16, signbit_f16le, signbit_f16be, - signbit_f32, signbit_f32le, signbit_f32be, - signbit_f64, signbit_f64le, signbit_f64be, -} - - @(require_results) hypot_f16 :: proc "contextless" (x, y: f16) -> (r: f16) { p, q := abs(x), abs(y) diff --git a/core/math/math_gamma.odin b/core/math/math_gamma.odin index 9f5a364d3..9e8c2a909 100644 --- a/core/math/math_gamma.odin +++ b/core/math/math_gamma.odin @@ -132,7 +132,7 @@ gamma_f64 :: proc "contextless" (x: f64) -> f64 { case is_inf(x, 1): return inf_f64(1) case x == 0: - if signbit(x) { + if sign_bit(x) { return inf_f64(-1) } return inf_f64(1) diff --git a/vendor/raylib/raymath.odin b/vendor/raylib/raymath.odin index c8420d60a..9874d5086 100644 --- a/vendor/raylib/raymath.odin +++ b/vendor/raylib/raymath.odin @@ -831,8 +831,8 @@ fmaxf :: proc "contextless" (x, y: f32) -> f32 { return x } - if math.signbit(x) != math.signbit(y) { - return y if math.signbit(x) else x + if math.sign_bit(x) != math.sign_bit(y) { + return y if math.sign_bit(x) else x } return y if x < y else x