home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / D / LIBC / LIBC-4.6 / LIBC-4 / libc-linux / sysdeps / linux / i386 / math / test-math.c < prev   
Encoding:
C/C++ Source or Header  |  1993-02-22  |  1.8 KB  |  108 lines

  1. #include <ansidecl.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <stdlib.h>
  5.  
  6. int
  7. DEFUN_VOID(main)
  8. {
  9.   CONST char str[] = "123.456";
  10.   double x,h,li,lr,a,lrr, y;
  11.  
  12.   x = atof (str);
  13.     
  14.   printf ("%g %g\n", x, pow (10.0, 3.0));
  15.   
  16.   x = 0.5;
  17.  
  18.   y = cos (x);
  19.   printf("cos (%g) = %g\n", x, y);
  20.  
  21.   x = acos (y);
  22.   printf("acos (%g) = %g\n", y, x);
  23.  
  24.   y = sin (x);
  25.   printf("sin (%g) = %g\n", x, y);
  26.  
  27.   x = asin (y);
  28.   printf("asin (%g) = %g\n", y, x);
  29.  
  30.   x = cosh(2.0);
  31.   
  32.   printf("cosh(2.0) = %g\n", x);
  33.   
  34.   printf("cosh(%g) = 2.0\n", acosh (x));
  35.   
  36.   x = sinh(2.0);
  37.   
  38.   printf("sinh(2.0) = %g\n", x);
  39.   
  40.   printf("sinh(%g) = 2.0\n", asinh (x));
  41.   
  42.   x = sinh(3.0);
  43.   
  44.   printf("sinh(3.0) = %g\n", x);
  45.   
  46.   h = hypot(2.0,3.0);
  47.   
  48.   printf("h=%g\n", h);
  49.   
  50.   a = atan2(3.0, 2.0);
  51.   
  52.   printf("atan2(3,2) = %g\n", a);
  53.   
  54.   lr = pow(h,4.0);
  55.   
  56.   printf("pow(%g,4.0) = %g\n", h, lr);
  57.  
  58.   printf("pow2(4.0) = %g\n", pow2 (4.0));
  59.   
  60.   lrr = lr;
  61.   
  62.   li = 4.0 * a;
  63.   
  64.   lr = lr / exp(a*5.0);
  65.   
  66.   printf("%g / exp(%g * 5) = %g\n", lrr, exp(a*5.0), lr);
  67.   
  68.   lrr = li;
  69.   
  70.   li += 5.0 * log(h);
  71.   
  72.   printf("%g + 5*log(%g) = %g\n", lrr, h, li);
  73.   
  74.   printf("cos(%g) = %g,  sin(%g) = %g\n", li, cos(li), li, sin(li));
  75.   
  76.   x = drem(10.3435,6.2831852);
  77.  
  78.   printf("drem(10.3435,6.2831852) = %g\n", x);
  79.  
  80.   x = drem(-10.3435,6.2831852);
  81.  
  82.   printf("drem(-10.3435,6.2831852) = %g\n", x);
  83.  
  84.   x = drem(-10.3435,-6.2831852);
  85.     
  86.   printf("drem(-10.3435,-6.2831852) = %g\n", x);
  87.  
  88.   x = drem(10.3435,-6.2831852);
  89.  
  90.   printf("drem(10.3435,-6.2831852) = %g\n", x);
  91.  
  92.  
  93.   printf("x%8.6gx\n", .5);
  94.   printf("x%-8.6gx\n", .5);
  95.   printf("x%6.6gx\n", .5);
  96.  
  97.   {
  98.     double x = atof ("-1e-17-");
  99.     printf ("%g %c= %g %s!\n",
  100.         x,
  101.         x == -1e-17 ? '=' : '!',
  102.         -1e-17,
  103.         x == -1e-17 ? "Worked" : "Failed");
  104.   }
  105.  
  106.   return 0;
  107. }
  108.