v2 / vlib / v / fmt / tests / array_init_eol_comments_keep.vv
106 lines · 102 sloc · 1.79 KB · bff77a8fefe7cf59c422736261a35e4c88cb3a9b
Raw
1import math
2
3fn abc() {
4 test_cases_f32 := [
5 f32_from_bits1(0x0000_0000), // +0
6 f32_from_bits1(0x8000_0000), // -0
7 f32_from_bits1(0xFFC0_0001), // sNan
8 f32_from_bits1(0xFF80_0001), // qNan
9 f32_from_bits1(0x7F80_0000), // +inf
10 f32_from_bits1(0xFF80_0000), // -inf
11 1,
12 -1,
13 10,
14 -10,
15 0.3,
16 -0.3,
17 1000000,
18 123456.7,
19 123e35,
20 -123.45,
21 1e23,
22 f32_from_bits1(0x0080_0000), // smallest float32
23 math.max_f32,
24 383260575764816448.0,
25 ]
26
27 exp_result_f32 := [
28 '0e+00',
29 '-0e+00',
30 'nan',
31 'nan',
32 '+inf',
33 '-inf',
34 '1.e+00',
35 '-1.e+00',
36 '1.e+01',
37 '-1.e+01',
38 '3.e-01',
39 '-3.e-01',
40 '1.e+06',
41 '1.234567e+05',
42 '1.23e+37',
43 '-1.2345e+02',
44 '1.e+23',
45 '1.1754944e-38', // aprox from 1.1754943508 × 10−38,
46 '3.4028235e+38',
47 '3.8326058e+17',
48 ]
49
50 test_cases_f64 := [
51 f64_from_bits1(0x0000_0000_0000_0000), // +0
52 f64_from_bits1(0x8000_0000_0000_0000), // -0
53 f64_from_bits1(0x7FF0_0000_0000_0001), // sNan
54 f64_from_bits1(0x7FF8_0000_0000_0001), // qNan
55 f64_from_bits1(0x7FF0_0000_0000_0000), // +inf
56 f64_from_bits1(0xFFF0_0000_0000_0000), // -inf
57 1,
58 -1,
59 10,
60 -10,
61 0.3,
62 -0.3,
63 1000000,
64 123456.7,
65 123e45,
66 -123.45,
67 1e23,
68 f64_from_bits1(0x0010_0000_0000_0000), // smallest float64
69 math.max_f32,
70 383260575764816448,
71 383260575764816448,
72 // C failing cases
73 123e300,
74 123e-300,
75 5.e-324,
76 -5.e-324,
77 ]
78
79 exp_result_f64 := [
80 '0e+00',
81 '-0e+00',
82 'nan',
83 'nan',
84 '+inf',
85 '-inf',
86 '1.e+00',
87 '-1.e+00',
88 '1.e+01',
89 '-1.e+01',
90 '3.e-01',
91 '-3.e-01',
92 '1.e+06',
93 '1.234567e+05',
94 '1.23e+47',
95 '-1.2345e+02',
96 '1.e+23',
97 '2.2250738585072014e-308',
98 '3.4028234663852886e+38',
99 '3.8326057576481645e+17',
100 '3.8326057576481645e+17',
101 '1.23e+302', // this test is failed from C sprintf!!
102 '1.23e-298',
103 '5.e-324',
104 '-5.e-324',
105 ]
106}
107