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 7int 8main(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