import math fn abc() { test_cases_f32 := [ f32_from_bits1(0x0000_0000), // +0 f32_from_bits1(0x8000_0000), // -0 f32_from_bits1(0xFFC0_0001), // sNan f32_from_bits1(0xFF80_0001), // qNan f32_from_bits1(0x7F80_0000), // +inf f32_from_bits1(0xFF80_0000), // -inf 1, -1, 10, -10, 0.3, -0.3, 1000000, 123456.7, 123e35, -123.45, 1e23, f32_from_bits1(0x0080_0000), // smallest float32 math.max_f32, 383260575764816448.0, ] exp_result_f32 := [ '0e+00', '-0e+00', 'nan', 'nan', '+inf', '-inf', '1.e+00', '-1.e+00', '1.e+01', '-1.e+01', '3.e-01', '-3.e-01', '1.e+06', '1.234567e+05', '1.23e+37', '-1.2345e+02', '1.e+23', '1.1754944e-38', // aprox from 1.1754943508 × 10−38, '3.4028235e+38', '3.8326058e+17', ] test_cases_f64 := [ f64_from_bits1(0x0000_0000_0000_0000), // +0 f64_from_bits1(0x8000_0000_0000_0000), // -0 f64_from_bits1(0x7FF0_0000_0000_0001), // sNan f64_from_bits1(0x7FF8_0000_0000_0001), // qNan f64_from_bits1(0x7FF0_0000_0000_0000), // +inf f64_from_bits1(0xFFF0_0000_0000_0000), // -inf 1, -1, 10, -10, 0.3, -0.3, 1000000, 123456.7, 123e45, -123.45, 1e23, f64_from_bits1(0x0010_0000_0000_0000), // smallest float64 math.max_f32, 383260575764816448, 383260575764816448, // C failing cases 123e300, 123e-300, 5.e-324, -5.e-324, ] exp_result_f64 := [ '0e+00', '-0e+00', 'nan', 'nan', '+inf', '-inf', '1.e+00', '-1.e+00', '1.e+01', '-1.e+01', '3.e-01', '-3.e-01', '1.e+06', '1.234567e+05', '1.23e+47', '-1.2345e+02', '1.e+23', '2.2250738585072014e-308', '3.4028234663852886e+38', '3.8326057576481645e+17', '3.8326057576481645e+17', '1.23e+302', // this test is failed from C sprintf!! '1.23e-298', '5.e-324', '-5.e-324', ] }