Browse Source

Get rid of duplicate `math.signbit` in favor of `math.sign_bit`

Jeroen van Rijn 4 tháng trước cách đây
mục cha
commit
ddedddc16d
3 tập tin đã thay đổi với 3 bổ sung29 xóa
  1. 0 26
      core/math/math.odin
  2. 1 1
      core/math/math_gamma.odin
  3. 2 2
      vendor/raylib/raymath.odin

+ 0 - 26
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)

+ 1 - 1
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)

+ 2 - 2
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