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