xref: /netbsd-src/tests/lib/lua/libm/h_lualibm.c (revision 902698381c132bb385bdce1eebce51a534f77203)
1 #include <math.h>
2 #include <stdio.h>
3 
4 #define TEST(M_) printf("%-24s%+2.13f\n", #M_, M_)
5 #define TESTI(M_) printf("%-24s%d\n", #M_, M_)
6 
7 int
main(void)8 main(void)
9 {
10 	TEST(M_E);
11 	TEST(M_LOG2E);
12 	TEST(M_LOG10E);
13 	TEST(M_LN2);
14 	TEST(M_LN10);
15 	TEST(M_PI);
16 	TEST(M_PI_2);
17 	TEST(M_PI_4);
18 	TEST(M_1_PI);
19 	TEST(M_2_PI);
20 	TEST(M_2_SQRTPI);
21 	TEST(M_SQRT2);
22 	TEST(M_SQRT1_2);
23 
24 	TEST(cos(M_PI_2));
25 	TEST(acos(cos(M_PI_2)));
26 	TEST(cosh(M_SQRT1_2));
27 	TEST(acosh(cosh(M_SQRT1_2)));
28 	TEST(sin(M_PI_2));
29 	TEST(asin(sin(M_PI_2)));
30 	TEST(sinh(M_PI_2));
31 	TEST(asinh(sinh(M_PI_2)));
32 	TEST(tan(M_SQRT2));
33 	TEST(atan(tan(M_SQRT2)));
34 	TEST(tanh(M_SQRT2));
35 	TEST(atanh(tanh(M_SQRT2)));
36 	TEST(atan2(M_SQRT2, M_SQRT2));
37 	TEST(cbrt(8.0));
38 	TEST(ceil(M_PI));
39 	TEST(ceil(M_E));
40 	TEST(copysign(-2.0, 10.0));
41 	TEST(copysign(2.0, -10.0));
42 	TEST(erf(M_SQRT1_2));
43 	TEST(erfc(M_SQRT1_2));
44 	TEST(exp(M_PI_4));
45 	TEST(exp2(3.0));
46 	TEST(expm1(M_PI_4));
47 	TEST(fabs(-M_SQRT2));
48 	TEST(fabs(M_SQRT2));
49 	TEST(fdim(M_PI, M_PI_2));
50 	TEST(fdim(M_PI, -M_PI_2));
51 	TESTI(finite(1.0 / 0.0));
52 	TEST(floor(M_PI));
53 	TEST(floor(M_E));
54 	TEST(fma(M_PI, M_E, M_SQRT2));
55 	TEST(fmax(M_PI, M_E));
56 	TEST(fmin(M_PI, M_E));
57 	TEST(fmod(100.5, 10.0));
58 	TEST(gamma(5.0));
59 	TEST(hypot(3.0, 4.0));
60 	printf("%-24s%d\n", "ilogb(10.0)", ilogb(10.0));
61 	TESTI(isinf(1.0 / 0.0));
62 	TESTI(isnan(log(-1.0)));
63 	TEST(j0(M_PI));
64 	TEST(j1(M_PI));
65 	TEST(jn(3, M_PI));
66 	TEST(lgamma(M_PI));
67 	TEST(log(M_E));
68 	TEST(log10(100.0));
69 	TEST(log1p(M_PI));
70 	TEST(nan(""));
71 #ifdef notyet
72 	// XXX: vax
73 	TEST(nextafter(1.0e-14, 1.0));
74 #endif
75 	TEST(pow(M_SQRT2, 2.0));
76 	TEST(remainder(M_PI, M_E));
77 	TEST(rint(M_PI));
78 	TEST(rint(M_E));
79 	printf("%-24s%+2.13f\n", "scalbn(1.0, 2)", scalbn(1.0, 2));
80 	TEST(sin(M_PI_4));
81 	TEST(sinh(M_PI_4));
82 	TEST(sqrt(9.0));
83 	TEST(tan(M_PI_4));
84 	TEST(tanh(M_PI_4));
85 	TEST(trunc(M_PI));
86 	TEST(trunc(M_E));
87 	TEST(y0(M_PI));
88 	TEST(y1(M_PI));
89 	TEST(yn(3, M_PI));
90 
91 	return 0;
92 }
93