File: test-math.c

package info (click to toggle)
libc-sparc 5.3.12-3
  • links: PTS
  • area: main
  • in suites: potato, slink
  • size: 17,608 kB
  • ctags: 44,718
  • sloc: ansic: 163,548; asm: 5,080; makefile: 3,340; lex: 521; sh: 439; yacc: 401; awk: 28
file content (107 lines) | stat: -rw-r--r-- 1,803 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <ansidecl.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int
DEFUN_VOID(main)
{
  CONST char str[] = "123.456";
  double x,h,li,lr,a,lrr, y;

  x = atof (str);
	
  printf ("%g %g\n", x, pow (10.0, 3.0));
  
  x = 0.5;

  y = cos (x);
  printf("cos (%g) = %g\n", x, y);

  x = acos (y);
  printf("acos (%g) = %g\n", y, x);

  y = sin (x);
  printf("sin (%g) = %g\n", x, y);

  x = asin (y);
  printf("asin (%g) = %g\n", y, x);

  x = cosh(2.0);
  
  printf("cosh(2.0) = %g\n", x);
  
  printf("cosh(%g) = 2.0\n", acosh (x));
  
  x = sinh(2.0);
  
  printf("sinh(2.0) = %g\n", x);
  
  printf("sinh(%g) = 2.0\n", asinh (x));
  
  x = sinh(3.0);
  
  printf("sinh(3.0) = %g\n", x);
  
  h = hypot(2.0,3.0);
  
  printf("h=%g\n", h);
  
  a = atan2(3.0, 2.0);
  
  printf("atan2(3,2) = %g\n", a);
  
  lr = pow(h,4.0);
  
  printf("pow(%g,4.0) = %g\n", h, lr);

  printf("pow2(4.0) = %g\n", pow2 (4.0));
  
  lrr = lr;
  
  li = 4.0 * a;
  
  lr = lr / exp(a*5.0);
  
  printf("%g / exp(%g * 5) = %g\n", lrr, exp(a*5.0), lr);
  
  lrr = li;
  
  li += 5.0 * log(h);
  
  printf("%g + 5*log(%g) = %g\n", lrr, h, li);
  
  printf("cos(%g) = %g,  sin(%g) = %g\n", li, cos(li), li, sin(li));
  
  x = drem(10.3435,6.2831852);

  printf("drem(10.3435,6.2831852) = %g\n", x);

  x = drem(-10.3435,6.2831852);

  printf("drem(-10.3435,6.2831852) = %g\n", x);

  x = drem(-10.3435,-6.2831852);
	
  printf("drem(-10.3435,-6.2831852) = %g\n", x);

  x = drem(10.3435,-6.2831852);

  printf("drem(10.3435,-6.2831852) = %g\n", x);


  printf("x%8.6gx\n", .5);
  printf("x%-8.6gx\n", .5);
  printf("x%6.6gx\n", .5);

  {
    double x = atof ("-1e-17-");
    printf ("%g %c= %g %s!\n",
	    x,
	    x == -1e-17 ? '=' : '!',
	    -1e-17,
	    x == -1e-17 ? "Worked" : "Failed");
  }

  return 0;
}