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}