mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-07 16:18:52 +00:00
Get rid of duplicate math.signbit in favor of math.sign_bit
This commit is contained in:
@@ -2349,32 +2349,6 @@ nextafter :: proc{
|
|||||||
nextafter_f64, nextafter_f64le, nextafter_f64be,
|
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)
|
@(require_results)
|
||||||
hypot_f16 :: proc "contextless" (x, y: f16) -> (r: f16) {
|
hypot_f16 :: proc "contextless" (x, y: f16) -> (r: f16) {
|
||||||
p, q := abs(x), abs(y)
|
p, q := abs(x), abs(y)
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ gamma_f64 :: proc "contextless" (x: f64) -> f64 {
|
|||||||
case is_inf(x, 1):
|
case is_inf(x, 1):
|
||||||
return inf_f64(1)
|
return inf_f64(1)
|
||||||
case x == 0:
|
case x == 0:
|
||||||
if signbit(x) {
|
if sign_bit(x) {
|
||||||
return inf_f64(-1)
|
return inf_f64(-1)
|
||||||
}
|
}
|
||||||
return inf_f64(1)
|
return inf_f64(1)
|
||||||
|
|||||||
Vendored
+2
-2
@@ -831,8 +831,8 @@ fmaxf :: proc "contextless" (x, y: f32) -> f32 {
|
|||||||
return x
|
return x
|
||||||
}
|
}
|
||||||
|
|
||||||
if math.signbit(x) != math.signbit(y) {
|
if math.sign_bit(x) != math.sign_bit(y) {
|
||||||
return y if math.signbit(x) else x
|
return y if math.sign_bit(x) else x
|
||||||
}
|
}
|
||||||
|
|
||||||
return y if x < y else x
|
return y if x < y else x
|
||||||
|
|||||||
Reference in New Issue
Block a user