code wiki / (root) / nx_f32_div_test.nx

nx_f32_div_test.nx source

↩ module page · 29 lines · 965 B

1// nx_f32_div_test.nx -- smoke for nx_f32_div.nx. 2 3import "nx_syscalls.nx" 4import "nx_tier.nx" 5import "nx_f32.nx" 6import "nx_f32_div.nx" 7 8func main() -> i64 { 9 // Exact divides. 10 if nx_f32_div(0x3F800000, 0x3F800000) != 0x3F800000 { return 10 } // 1/1=1 11 if nx_f32_div(0x40000000, 0x3F800000) != 0x40000000 { return 11 } // 2/1=2 12 if nx_f32_div(0x3F800000, 0x40000000) != 0x3F000000 { return 12 } // 1/2=0.5 13 if nx_f32_div(0x40800000, 0x40000000) != 0x40000000 { return 13 } // 4/2=2 14 if nx_f32_div(0x40C00000, 0x40000000) != 0x40400000 { return 14 } // 6/2=3 15 16 // 0/x = +0 17 if nx_f32_div(0x00000000, 0x3F800000) != 0x00000000 { return 20 } 18 19 // x/0 = +inf 20 if nx_f32_div(0x3F800000, 0x00000000) != 0x7F800000 { return 21 } 21 22 // inf/finite = +inf 23 if nx_f32_div(0x7F800000, 0x3F800000) != 0x7F800000 { return 22 } 24 25 // finite/inf = +0 26 if nx_f32_div(0x3F800000, 0x7F800000) != 0x00000000 { return 23 } 27 28 return 0 29}