Math classlibrary
[IRC.git] / Robust / src / ClassLibrary / Math.java
1 public class Math {
2         //public static final double PI=3.14159265358979323846;
3
4         public double fabs(double x) {
5                 if (x < 0) {
6                         return -x;
7                 } else {
8                         return x;
9                 }
10         }
11
12         public double sin(double rad) {
13                 double app;
14                 double diff;
15                 int inc = 1;
16                 double PI=3.14159265358979323846;
17
18                 while( rad > 2*PI ) rad -= 2*PI;
19                 while( rad < -2*PI ) rad += 2*PI;
20                 app = diff = rad;
21                 diff = (diff * (-(rad*rad))) / ((2.0 * inc) * (2.0 * inc + 1.0));
22                 app = app + diff;
23                 inc++;
24                 while( fabs(diff) >= 0.00001 ) {
25                         diff = (diff * (-(rad*rad))) / ((2.0 * inc) * (2.0 * inc + 1.0));
26                         app = app + diff;
27                         inc++;
28                 }
29                 return app;
30         }
31
32         public double cos(double rad) {
33                 double app;
34                 double diff;
35                 int inc = 1;
36                 double PI=3.14159265358979323846;
37
38                 rad += PI/2.0;
39                 while( rad > 2*PI ) rad -= 2*PI;
40                 while( rad < -2*PI ) rad += 2*PI;
41                 app = diff = rad;
42                 diff = (diff * (-(rad*rad))) / ((2.0 * inc) * (2.0 * inc + 1.0));
43                 app = app + diff;
44                 inc++;
45                 while( fabs(diff) >= 0.00001 ) {
46                         diff = (diff * (-(rad*rad))) / ((2.0 * inc) * (2.0 * inc + 1.0));
47                         app = app + diff;
48                         inc++;
49                 }
50                 return app;
51         }
52 }