Minor cleanup to math constants

This commit is contained in:
gingerBill
2021-11-21 14:06:32 +00:00
parent 8a2c829e07
commit f40f12d480
4 changed files with 36 additions and 39 deletions
+14 -17
View File
@@ -607,9 +607,9 @@ floor_mod :: proc "contextless" (x, y: $T) -> T
}
modf_f16 :: proc "contextless" (x: f16) -> (int: f16, frac: f16) {
shift :: 16 - 5 - 1
mask :: 0x1f
bias :: 15
shift :: F16_SHIFT
mask :: F16_MASK
bias :: F16_BIAS
if x < 1 {
switch {
@@ -641,9 +641,9 @@ modf_f16be :: proc "contextless" (x: f16be) -> (int: f16be, frac: f16be) {
return f16be(i), f16be(f)
}
modf_f32 :: proc "contextless" (x: f32) -> (int: f32, frac: f32) {
shift :: 32 - 8 - 1
mask :: 0xff
bias :: 127
shift :: F32_SHIFT
mask :: F32_MASK
bias :: F32_BIAS
if x < 1 {
switch {
@@ -674,10 +674,10 @@ modf_f32be :: proc "contextless" (x: f32be) -> (int: f32be, frac: f32be) {
i, f := #force_inline modf_f32(f32(x))
return f32be(i), f32be(f)
}
modf_f64 :: proc "contextless" (x: f64) -> (int: f64, frac: f64) {
shift :: 64 - 11 - 1
mask :: 0x7ff
bias :: 1023
modf_f64 :: proc "contextless" (x: f64) -> (int: f64, frac: f64) {
shift :: F64_SHIFT
mask :: F64_MASK
bias :: F64_BIAS
if x < 1 {
switch {
@@ -708,7 +708,7 @@ modf_f64be :: proc "contextless" (x: f64be) -> (int: f64be, frac: f64be) {
i, f := #force_inline modf_f64(f64(x))
return f64be(i), f64be(f)
}
modf :: proc{
modf :: proc{
modf_f16, modf_f16le, modf_f16be,
modf_f32, modf_f32le, modf_f32be,
modf_f64, modf_f64le, modf_f64be,
@@ -1127,13 +1127,11 @@ inf_f32be :: proc "contextless" (sign: int) -> f32be {
return f32be(inf_f64(sign))
}
inf_f64 :: proc "contextless" (sign: int) -> f64 {
v: u64
if sign >= 0 {
v = 0x7ff00000_00000000
return 0h7ff00000_00000000
} else {
v = 0xfff00000_00000000
return 0hfff00000_00000000
}
return transmute(f64)v
}
inf_f64le :: proc "contextless" (sign: int) -> f64le {
return f64le(inf_f64(sign))
@@ -1161,8 +1159,7 @@ nan_f32be :: proc "contextless" () -> f32be {
return f32be(nan_f64())
}
nan_f64 :: proc "contextless" () -> f64 {
v: u64 = 0x7ff80000_00000001
return transmute(f64)v
return 0h7ff80000_00000001
}
nan_f64le :: proc "contextless" () -> f64le {
return f64le(nan_f64())