@@ -56,31 +56,47 @@ std.assertEqual(std.abs(33), 33) &&
5656std.assertEqual (std.abs (-33 ), 33 ) &&
5757std.assertEqual (std.abs (0 ), 0 ) &&
5858
59- // Ordinary (non-test) code can define pi as 2*std.acos(0)
60- local pi = 3.14159265359 ;
61-
62- assertClose(std.sin (0.0 * pi), 0 ) &&
63- assertClose(std.sin (0.5 * pi), 1 ) &&
64- assertClose(std.sin (1.0 * pi), 0 ) &&
65- assertClose(std.sin (1.5 * pi), -1 ) &&
66- assertClose(std.sin (2.0 * pi), 0 ) &&
67- assertClose(std.cos (0.0 * pi), 1 ) &&
68- assertClose(std.cos (0.5 * pi), 0 ) &&
69- assertClose(std.cos (1.0 * pi), -1 ) &&
70- assertClose(std.cos (1.5 * pi), 0 ) &&
71- assertClose(std.cos (2.0 * pi), 1 ) &&
59+ assertClose(std.sin (0.0 * std.pi), 0 ) &&
60+ assertClose(std.sin (0.5 * std.pi), 1 ) &&
61+ assertClose(std.sin (1.0 * std.pi), 0 ) &&
62+ assertClose(std.sin (1.5 * std.pi), -1 ) &&
63+ assertClose(std.sin (2.0 * std.pi), 0 ) &&
64+ assertClose(std.cos (0.0 * std.pi), 1 ) &&
65+ assertClose(std.cos (0.5 * std.pi), 0 ) &&
66+ assertClose(std.cos (1.0 * std.pi), -1 ) &&
67+ assertClose(std.cos (1.5 * std.pi), 0 ) &&
68+ assertClose(std.cos (2.0 * std.pi), 1 ) &&
7269assertClose(std.tan (0 ), 0 ) &&
73- assertClose(std.tan (0.25 * pi), 1 ) &&
70+ assertClose(std.tan (0.25 * std. pi), 1 ) &&
7471assertClose(std.asin (0 ), 0 ) &&
7572assertClose(std.acos (1 ), 0 ) &&
76- assertClose(std.asin (1 ), 0.5 * pi) &&
77- assertClose(std.acos (0 ), 0.5 * pi) &&
73+ assertClose(std.asin (1 ), 0.5 * std. pi) &&
74+ assertClose(std.acos (0 ), 0.5 * std. pi) &&
7875assertClose(std.atan (0 ), 0 ) &&
76+ assertClose(std.atan2(1 , 1 ), std.pi / 4 ) &&
77+ assertClose(std.atan2(-1 , 1 ), -std.pi / 4 ) &&
78+ assertClose(std.atan2(1.2 , -3.8 ), 2.835713782184941 ) && // arbitrary, done on a calculator
79+ assertClose(std.deg2rad(0 ), 0 ) &&
80+ assertClose(std.deg2rad(45 ), std.pi / 4 ) &&
81+ assertClose(std.deg2rad(90 ), std.pi / 2 ) &&
82+ assertClose(std.deg2rad(172 ), 3.0019663134302466 ) && // arbitrary, done on a calculator
83+ assertClose(std.rad2deg(std.pi / 4 ), 45 ) &&
84+ assertClose(std.rad2deg(std.pi / 2 ), 90 ) &&
85+ assertClose(std.rad2deg(3.0019663134302466 ), 172 ) && // arbitrary, done on a calculator
86+ assertClose(std.hypot(3 , 4 ), 5 ) &&
87+ assertClose(std.hypot(5 , 12 ), 13 ) &&
88+ assertClose(std.hypot(1 , 1 ), std.sqrt (2 )) &&
7989assertClose(std.log (std.exp (5 )), 5 ) &&
8090assertClose(std.mantissa (1 ), 0.5 ) &&
8191assertClose(std.exponent (1 ), 1 ) &&
8292assertClose(std.mantissa (128 ), 0.5 ) &&
8393assertClose(std.exponent (128 ), 8 ) &&
94+ assertClose(std.log2(std.pow (2 , -5 )), -5 ) &&
95+ assertClose(std.log2(std.pow (2 , 0 )), 0 ) &&
96+ assertClose(std.log2(std.pow (2 , std.pi)), std.pi) &&
97+ assertClose(std.log10(std.pow (10 , -5 )), -5 ) &&
98+ assertClose(std.log10(std.pow (10 , 0 )), 0 ) &&
99+ assertClose(std.log10(std.pow (10 , std.pi)), std.pi) &&
84100
85101std.assertEqual (std.clamp(-3 , 0 , 5 ), 0 ) &&
86102std.assertEqual (std.clamp(4 , 0 , 5 ), 4 ) &&
0 commit comments