DEADSOFTWARE

Добавлены модули Math MathL CPMath CPStrings
[dsw-obn.git] / rtl / java / CPMath.java
1 import java.lang.Math;
3 public class CPMath
4 {
5 public static double ArcCos(double x)
6 {
7 return Math.acos(x);
8 }
10 public static double ArcCosh(double x)
11 {
12 return Ln(x + Sqrt(x * x - 1.0));
13 }
15 public static double ArcSin(double x)
16 {
17 return Math.asin(x);
18 }
20 public static double ArcSinh(double x)
21 {
22 if(x >= 0.0)
23 {
24 return Ln(x + Sqrt(x * x + 1.0));
25 }
26 else
27 {
28 return -Ln(-x + Sqrt(x * x + 1.0));
29 }
30 }
32 public static double ArcTan(double x)
33 {
34 return Math.atan(x);
35 }
37 public static double ArcTan2(double y, double x)
38 {
39 return Math.atan2(y, x);
40 }
42 public static double ArcTanh(double x)
43 {
44 return Ln((1.0 + x) / (1.0 - x)) / 2.0;
45 }
47 public static double Ceiling(double x)
48 {
49 return Math.ceil(x);
50 }
52 public static double Cos(double x)
53 {
54 return Math.cos(x);
55 }
57 public static double Cosh(double x)
58 {
59 return Math.cosh(x);
60 }
62 public static double Eps()
63 {
64 return Math.ulp(1.0);
65 }
67 public static double Exp(double x)
68 {
69 return Math.exp(x);
70 }
72 public static int Exponent(double x)
73 {
74 return Math.getExponent(x);
75 }
77 public static double Floor(double x)
78 {
79 return Math.floor(x);
80 }
82 public static double Frac(double x)
83 {
84 if(Math.abs(x) >= 1.0e16)
85 {
86 return 0;
87 }
88 else if(x >= 0)
89 {
90 return x - Floor(x);
91 }
92 else
93 {
94 return x + Floor(-x);
95 }
96 }
98 public static double IntPower(double x, int n)
99 {
100 return Math.pow(x, n);
103 public static double Ln(double x)
105 return Math.log(x);
108 public static double Log(double x)
110 return Math.log10(x);
113 public static double Mantissa(double x)
115 // Not implemented
116 SYSTEM.TRAP(-3);
117 return 0;
120 public static double Pi()
122 return Math.PI;
125 public static double Power(double x, double y)
127 return Math.pow(x, y);
130 public static double Real(double m, int e)
132 return Math.scalb(m, e);
135 public static double Round(double x)
137 return Math.round(x);
140 public static double Sign(double x)
142 return Math.signum(x);
145 public static double Sin(double x)
147 return Math.sin(x);
150 public static double Sinh(double x)
152 return Math.sinh(x);
155 public static double Sqrt(double x)
157 return Math.sqrt(x);
160 public static double Tan(double x)
162 return Math.tan(x);
165 public static double Tanh(double x)
167 return Math.tanh(x);
170 public static double Trunc(double x)
172 if(Math.abs(x) >= 1.0e16)
174 return x;
176 else if(x >= 0)
178 return Floor(x);
180 else
182 return -Floor(-x);
186 public static void BEGIN()