mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 19:12:25 +00:00
Add test for Math and MathL modules.
This commit is contained in:
parent
a10c530f98
commit
eda7e88185
6 changed files with 506 additions and 4 deletions
|
|
@ -114,10 +114,10 @@ VAR
|
|||
LnSmall: LONGREAL; (* natural log of very small number *)
|
||||
SqrtInfinity: LONGREAL; (* square root of infinity *)
|
||||
TanhMax: LONGREAL; (* maximum Tanh value *)
|
||||
t: LONGREAL; (* internal variables *)
|
||||
NumberMask: SYSTEM.SET64; (* Sign and significand, {0..51, 63} *)
|
||||
ExponentMask: SYSTEM.SET64; (* Exponent part, {53..62} *)
|
||||
ZeroExponent: SYSTEM.SET64; (* Zero valued exponent {54..61} *)
|
||||
t: LONGREAL; (* internal variables *)
|
||||
i: INTEGER; (* For initialisation loops in module body. *)
|
||||
|
||||
|
||||
|
|
@ -675,7 +675,7 @@ BEGIN
|
|||
FOR i := 0 TO 51 DO INCL(NumberMask, i) END;
|
||||
ExponentMask := -NumberMask;
|
||||
ZeroExponent := {};
|
||||
FOR i := 54 TO 61 DO INCL(ZeroExponent, i) END;
|
||||
FOR i := 53 TO 61 DO INCL(ZeroExponent, i) END;
|
||||
|
||||
(* determine some fundamental constants used by hyperbolic trig functions *)
|
||||
em := ulp(ONE);
|
||||
|
|
|
|||
351
src/test/confidence/math/expected
Normal file
351
src/test/confidence/math/expected
Normal file
|
|
@ -0,0 +1,351 @@
|
|||
Math and MathL module tests.
|
||||
|
||||
Math.fraction(8.99999976E-01): 1.79999995E+00. MathL.fraction(9.0000000000000000D-001): 1.8000000000000000D+000
|
||||
Math.fraction(1.00000000E+00): 1.00000000E+00. MathL.fraction(1.0000000000000000D+000): 1.0000000000000000D+000
|
||||
Math.fraction(1.39999998E+00): 1.39999998E+00. MathL.fraction(1.4000000000000000D+000): 1.4000000000000000D+000
|
||||
Math.fraction(1.50000000E+00): 1.50000000E+00. MathL.fraction(1.5000000000000000D+000): 1.5000000000000000D+000
|
||||
Math.fraction(1.60000002E+00): 1.60000002E+00. MathL.fraction(1.6000000000000000D+000): 1.6000000000000000D+000
|
||||
Math.fraction(1.89999998E+00): 1.89999998E+00. MathL.fraction(1.9000000000000000D+000): 1.9000000000000000D+000
|
||||
Math.fraction(2.00000000E+00): 1.00000000E+00. MathL.fraction(2.0000000000000000D+000): 1.0000000000000000D+000
|
||||
Math.fraction(2.40000010E+00): 1.20000005E+00. MathL.fraction(2.4000000000000000D+000): 1.2000000000000000D+000
|
||||
Math.fraction(2.50000000E+00): 1.25000000E+00. MathL.fraction(2.5000000000000000D+000): 1.2500000000000000D+000
|
||||
Math.fraction(3.00000000E+00): 1.50000000E+00. MathL.fraction(3.0000000000000000D+000): 1.5000000000000000D+000
|
||||
Math.fraction(4.00000000E+00): 1.00000000E+00. MathL.fraction(4.0000000000000000D+000): 1.0000000000000000D+000
|
||||
Math.fraction(-8.9999998E-01): -1.8000000E+00. MathL.fraction(-9.000000000000000D-001): -1.800000000000000D+000
|
||||
Math.fraction(-1.0000000E+00): -1.0000000E+00. MathL.fraction(-1.000000000000000D+000): -1.000000000000000D+000
|
||||
Math.fraction(-1.4000000E+00): -1.4000000E+00. MathL.fraction(-1.400000000000000D+000): -1.400000000000000D+000
|
||||
Math.fraction(-1.5000000E+00): -1.5000000E+00. MathL.fraction(-1.500000000000000D+000): -1.500000000000000D+000
|
||||
Math.fraction(-1.6000000E+00): -1.6000000E+00. MathL.fraction(-1.600000000000000D+000): -1.600000000000000D+000
|
||||
Math.fraction(-1.9000000E+00): -1.9000000E+00. MathL.fraction(-1.900000000000000D+000): -1.900000000000000D+000
|
||||
Math.fraction(-2.0000000E+00): -1.0000000E+00. MathL.fraction(-2.000000000000000D+000): -1.000000000000000D+000
|
||||
Math.fraction(-2.4000001E+00): -1.2000000E+00. MathL.fraction(-2.400000000000000D+000): -1.200000000000000D+000
|
||||
Math.fraction(-2.5000000E+00): -1.2500000E+00. MathL.fraction(-2.500000000000000D+000): -1.250000000000000D+000
|
||||
Math.fraction(-3.0000000E+00): -1.5000000E+00. MathL.fraction(-3.000000000000000D+000): -1.500000000000000D+000
|
||||
Math.fraction(-4.0000000E+00): -1.0000000E+00. MathL.fraction(-4.000000000000000D+000): -1.000000000000000D+000
|
||||
|
||||
Math.round(8.99999976E-01): 1. MathL.round(9.0000000000000000D-001): 1
|
||||
Math.round(1.00000000E+00): 1. MathL.round(1.0000000000000000D+000): 1
|
||||
Math.round(1.39999998E+00): 1. MathL.round(1.4000000000000000D+000): 1
|
||||
Math.round(1.50000000E+00): 2. MathL.round(1.5000000000000000D+000): 2
|
||||
Math.round(1.60000002E+00): 2. MathL.round(1.6000000000000000D+000): 2
|
||||
Math.round(1.89999998E+00): 2. MathL.round(1.9000000000000000D+000): 2
|
||||
Math.round(2.00000000E+00): 2. MathL.round(2.0000000000000000D+000): 2
|
||||
Math.round(2.40000010E+00): 2. MathL.round(2.4000000000000000D+000): 2
|
||||
Math.round(2.50000000E+00): 3. MathL.round(2.5000000000000000D+000): 3
|
||||
Math.round(3.00000000E+00): 3. MathL.round(3.0000000000000000D+000): 3
|
||||
Math.round(4.00000000E+00): 4. MathL.round(4.0000000000000000D+000): 4
|
||||
Math.round(-8.9999998E-01): -1. MathL.round(-9.000000000000000D-001): -1
|
||||
Math.round(-1.0000000E+00): -1. MathL.round(-1.000000000000000D+000): -1
|
||||
Math.round(-1.4000000E+00): -1. MathL.round(-1.400000000000000D+000): -1
|
||||
Math.round(-1.5000000E+00): -2. MathL.round(-1.500000000000000D+000): -2
|
||||
Math.round(-1.6000000E+00): -2. MathL.round(-1.600000000000000D+000): -2
|
||||
Math.round(-1.9000000E+00): -2. MathL.round(-1.900000000000000D+000): -2
|
||||
Math.round(-2.0000000E+00): -2. MathL.round(-2.000000000000000D+000): -2
|
||||
Math.round(-2.4000001E+00): -2. MathL.round(-2.400000000000000D+000): -2
|
||||
Math.round(-2.5000000E+00): -3. MathL.round(-2.500000000000000D+000): -3
|
||||
Math.round(-3.0000000E+00): -3. MathL.round(-3.000000000000000D+000): -3
|
||||
Math.round(-4.0000000E+00): -4. MathL.round(-4.000000000000000D+000): -4
|
||||
|
||||
Math.sqrt(8.99999976E-01): 9.48683262E-01. MathL.sqrt(9.0000000000000000D-001): 9.4868329805051376D-001
|
||||
Math.sqrt(1.00000000E+00): 9.99999940E-01. MathL.sqrt(1.0000000000000000D+000): 1.0000000000000006D+000
|
||||
Math.sqrt(1.39999998E+00): 1.18321598E+00. MathL.sqrt(1.4000000000000000D+000): 1.1832159566199240D+000
|
||||
Math.sqrt(1.50000000E+00): 1.22474480E+00. MathL.sqrt(1.5000000000000000D+000): 1.2247448713915898D+000
|
||||
Math.sqrt(1.60000002E+00): 1.26491106E+00. MathL.sqrt(1.6000000000000000D+000): 1.2649110640673526D+000
|
||||
Math.sqrt(1.89999998E+00): 1.37840486E+00. MathL.sqrt(1.9000000000000000D+000): 1.3784048752090230D+000
|
||||
Math.sqrt(2.00000000E+00): 1.41421354E+00. MathL.sqrt(2.0000000000000000D+000): 1.4142135623730952D+000
|
||||
Math.sqrt(2.40000010E+00): 1.54919338E+00. MathL.sqrt(2.4000000000000000D+000): 1.5491933384829668D+000
|
||||
Math.sqrt(2.50000000E+00): 1.58113885E+00. MathL.sqrt(2.5000000000000000D+000): 1.5811388300841898D+000
|
||||
Math.sqrt(3.00000000E+00): 1.73205078E+00. MathL.sqrt(3.0000000000000000D+000): 1.7320508075688772D+000
|
||||
Math.sqrt(4.00000000E+00): 1.99999988E+00. MathL.sqrt(4.0000000000000000D+000): 2.0000000000000012D+000
|
||||
Math.sqrt(-8.9999998E-01): 9.48683262E-01. MathL.sqrt(-9.000000000000000D-001): 9.4868329805051376D-001
|
||||
Math.sqrt(-1.0000000E+00): 9.99999940E-01. MathL.sqrt(-1.000000000000000D+000): 1.0000000000000006D+000
|
||||
Math.sqrt(-1.4000000E+00): 1.18321598E+00. MathL.sqrt(-1.400000000000000D+000): 1.1832159566199240D+000
|
||||
Math.sqrt(-1.5000000E+00): 1.22474480E+00. MathL.sqrt(-1.500000000000000D+000): 1.2247448713915898D+000
|
||||
Math.sqrt(-1.6000000E+00): 1.26491106E+00. MathL.sqrt(-1.600000000000000D+000): 1.2649110640673526D+000
|
||||
Math.sqrt(-1.9000000E+00): 1.37840486E+00. MathL.sqrt(-1.900000000000000D+000): 1.3784048752090230D+000
|
||||
Math.sqrt(-2.0000000E+00): 1.41421354E+00. MathL.sqrt(-2.000000000000000D+000): 1.4142135623730952D+000
|
||||
Math.sqrt(-2.4000001E+00): 1.54919338E+00. MathL.sqrt(-2.400000000000000D+000): 1.5491933384829668D+000
|
||||
Math.sqrt(-2.5000000E+00): 1.58113885E+00. MathL.sqrt(-2.500000000000000D+000): 1.5811388300841898D+000
|
||||
Math.sqrt(-3.0000000E+00): 1.73205078E+00. MathL.sqrt(-3.000000000000000D+000): 1.7320508075688772D+000
|
||||
Math.sqrt(-4.0000000E+00): 1.99999988E+00. MathL.sqrt(-4.000000000000000D+000): 2.0000000000000012D+000
|
||||
|
||||
Math.exp(8.99999976E-01): 2.45960307E+00. MathL.exp(9.0000000000000000D-001): 2.4596031111569500D+000
|
||||
Math.exp(1.00000000E+00): 2.71828175E+00. MathL.exp(1.0000000000000000D+000): 2.7182818284590456D+000
|
||||
Math.exp(1.39999998E+00): 4.05520010E+00. MathL.exp(1.4000000000000000D+000): 4.0551999668446744D+000
|
||||
Math.exp(1.50000000E+00): 4.48168898E+00. MathL.exp(1.5000000000000000D+000): 4.4816890703380648D+000
|
||||
Math.exp(1.60000002E+00): 4.95303249E+00. MathL.exp(1.6000000000000000D+000): 4.9530324243951152D+000
|
||||
Math.exp(1.89999998E+00): 6.68589401E+00. MathL.exp(1.9000000000000000D+000): 6.6858944422792688D+000
|
||||
Math.exp(2.00000000E+00): 7.38905621E+00. MathL.exp(2.0000000000000000D+000): 7.3890560989306512D+000
|
||||
Math.exp(2.40000010E+00): 1.10231771E+01. MathL.exp(2.4000000000000000D+000): 1.1023176380641602D+001
|
||||
Math.exp(2.50000000E+00): 1.21824942E+01. MathL.exp(2.5000000000000000D+000): 1.2182493960703474D+001
|
||||
Math.exp(3.00000000E+00): 2.00855370E+01. MathL.exp(3.0000000000000000D+000): 2.0085536923187668D+001
|
||||
Math.exp(4.00000000E+00): 5.45981522E+01. MathL.exp(4.0000000000000000D+000): 5.4598150033144232D+001
|
||||
Math.exp(-8.9999998E-01): 4.06569660E-01. MathL.exp(-9.000000000000000D-001): 4.0656965974060152D-001
|
||||
Math.exp(-1.0000000E+00): 3.67879450E-01. MathL.exp(-1.000000000000000D+000): 3.6787944117144232D-001
|
||||
Math.exp(-1.4000000E+00): 2.46596977E-01. MathL.exp(-1.400000000000000D+000): 2.4659696394176248D-001
|
||||
Math.exp(-1.5000000E+00): 2.23130152E-01. MathL.exp(-1.500000000000000D+000): 2.2313016014844684D-001
|
||||
Math.exp(-1.6000000E+00): 2.01896518E-01. MathL.exp(-1.600000000000000D+000): 2.0189651799465632D-001
|
||||
Math.exp(-1.9000000E+00): 1.49568617E-01. MathL.exp(-1.900000000000000D+000): 1.4956861922474082D-001
|
||||
Math.exp(-2.0000000E+00): 1.35335281E-01. MathL.exp(-2.000000000000000D+000): 1.3533528323704446D-001
|
||||
Math.exp(-2.4000001E+00): 9.07179415E-02. MathL.exp(-2.400000000000000D+000): 9.0717953289412512D-002
|
||||
Math.exp(-2.5000000E+00): 8.20849985E-02. MathL.exp(-2.500000000000000D+000): 8.2084998627778512D-002
|
||||
Math.exp(-3.0000000E+00): 4.97870669E-02. MathL.exp(-3.000000000000000D+000): 4.9787068367864088D-002
|
||||
Math.exp(-4.0000000E+00): 1.83156393E-02. MathL.exp(-4.000000000000000D+000): 1.8315638888927552D-002
|
||||
|
||||
Math.ln(8.99999976E-01): -1.0536054E-01. MathL.ln(9.0000000000000000D-001): -1.053605156578263D-001
|
||||
Math.ln(1.00000000E+00): 0.00000000E+00. MathL.ln(1.0000000000000000D+000): 0.0000000000000000D+000
|
||||
Math.ln(1.39999998E+00): 3.36472213E-01. MathL.ln(1.4000000000000000D+000): 3.3647223662121288D-001
|
||||
Math.ln(1.50000000E+00): 4.05465096E-01. MathL.ln(1.5000000000000000D+000): 4.0546510810816440D-001
|
||||
Math.ln(1.60000002E+00): 4.70003664E-01. MathL.ln(1.6000000000000000D+000): 4.7000362924573560D-001
|
||||
Math.ln(1.89999998E+00): 6.41853869E-01. MathL.ln(1.9000000000000000D+000): 6.4185388617239472D-001
|
||||
Math.ln(2.00000000E+00): 6.93147182E-01. MathL.ln(2.0000000000000000D+000): 6.9314718055994528D-001
|
||||
Math.ln(2.40000010E+00): 8.75468791E-01. MathL.ln(2.4000000000000000D+000): 8.7546873735390000D-001
|
||||
Math.ln(2.50000000E+00): 9.16290760E-01. MathL.ln(2.5000000000000000D+000): 9.1629073187415488D-001
|
||||
Math.ln(3.00000000E+00): 1.09861231E+00. MathL.ln(3.0000000000000000D+000): 1.0986122886681098D+000
|
||||
Math.ln(4.00000000E+00): 1.38629436E+00. MathL.ln(4.0000000000000000D+000): 1.3862943611198906D+000
|
||||
Math.ln(-8.9999998E-01): -3.4028235E+38. MathL.ln(-9.000000000000000D-001): -1.797692963420939D+308
|
||||
Math.ln(-1.0000000E+00): -3.4028235E+38. MathL.ln(-1.000000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-1.4000000E+00): -3.4028235E+38. MathL.ln(-1.400000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-1.5000000E+00): -3.4028235E+38. MathL.ln(-1.500000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-1.6000000E+00): -3.4028235E+38. MathL.ln(-1.600000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-1.9000000E+00): -3.4028235E+38. MathL.ln(-1.900000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-2.0000000E+00): -3.4028235E+38. MathL.ln(-2.000000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-2.4000001E+00): -3.4028235E+38. MathL.ln(-2.400000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-2.5000000E+00): -3.4028235E+38. MathL.ln(-2.500000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-3.0000000E+00): -3.4028235E+38. MathL.ln(-3.000000000000000D+000): -1.797692963420939D+308
|
||||
Math.ln(-4.0000000E+00): -3.4028235E+38. MathL.ln(-4.000000000000000D+000): -1.797692963420939D+308
|
||||
|
||||
Math.sin(0.00000000E+00): 0.00000000E+00. MathL.sin(0.0000000000000000D+000): 0.0000000000000000D+000
|
||||
Math.sin(1.00000001E-01): 9.98334214E-02. MathL.sin(1.0000000000000000D-001): 9.9833416646828144D-002
|
||||
Math.sin(1.04719758E+00): 8.66025388E-01. MathL.sin(1.0471975511966000D+000): 8.6602540378443952D-001
|
||||
Math.sin(1.57079637E+00): 1.00000000E+00. MathL.sin(1.5707963267949002D+000): 9.9999999999999872D-001
|
||||
Math.sin(3.14159274E+00): -3.1086245E-15. MathL.sin(3.1415926535897900D+000): 3.2310867983985708D-015
|
||||
Math.sin(-1.0471976E+00): -8.6602539E-01. MathL.sin(-1.047197551196600D+000): -8.660254037844394D-001
|
||||
Math.sin(-1.5707964E+00): -1.0000000E+00. MathL.sin(-1.570796326794900D+000): -9.999999999999988D-001
|
||||
Math.sin(-3.1415927E+00): 3.10862447E-15. MathL.sin(-3.141592653589790D+000): -3.231086798398571D-015
|
||||
|
||||
Math.cos(0.00000000E+00): 1.00000000E+00. MathL.cos(0.0000000000000000D+000): 9.9999999999999856D-001
|
||||
Math.cos(1.00000001E-01): 9.95004177E-01. MathL.cos(1.0000000000000000D-001): 9.9500416527802480D-001
|
||||
Math.cos(1.04719758E+00): 5.00000000E-01. MathL.cos(1.0471975511966000D+000): 4.9999999999999808D-001
|
||||
Math.cos(1.57079637E+00): -1.5543122E-15. MathL.cos(1.5707963267949002D+000): -3.491482514076435D-015
|
||||
Math.cos(3.14159274E+00): -1.0000000E+00. MathL.cos(3.1415926535897900D+000): -9.999999999999988D-001
|
||||
Math.cos(-1.0471976E+00): 5.00000000E-01. MathL.cos(-1.047197551196600D+000): 4.9999999999999808D-001
|
||||
Math.cos(-1.5707964E+00): -1.5543122E-15. MathL.cos(-1.570796326794900D+000): -3.491482514076435D-015
|
||||
Math.cos(-3.1415927E+00): -1.0000000E+00. MathL.cos(-3.141592653589790D+000): -9.999999999999988D-001
|
||||
|
||||
Math.tan(0.00000000E+00): 0.00000000E+00. MathL.tan(0.0000000000000000D+000): 0.0000000000000000D+000
|
||||
Math.tan(1.00000001E-01): 1.00334682E-01. MathL.tan(1.0000000000000000D-001): 1.0033467208545054D-001
|
||||
Math.tan(1.04719758E+00): 1.73205066E+00. MathL.tan(1.0471975511966000D+000): 1.7320508075688840D+000
|
||||
Math.tan(1.57079637E+00): 3.00239991E+14. MathL.tan(1.5707963267949002D+000): 2.0234083817726248D+007
|
||||
Math.tan(3.14159274E+00): -6.6613381E-15. MathL.tan(3.1415926535897900D+000): 3.2310867983985684D-015
|
||||
Math.tan(-1.0471976E+00): -1.7320507E+00. MathL.tan(-1.047197551196600D+000): -1.732050807568884D+000
|
||||
Math.tan(-1.5707964E+00): -3.0023999E+14. MathL.tan(-1.570796326794900D+000): -2.023408381772625D+007
|
||||
Math.tan(-3.1415927E+00): 6.66133815E-15. MathL.tan(-3.141592653589790D+000): -3.231086798398569D-015
|
||||
|
||||
Math.arcsin(8.99999976E-01): -4.5102686E-01. MathL.arcsin(9.0000000000000000D-001): 1.1197695149986360D+000
|
||||
Math.arcsin(1.00000000E+00): -0.0000000E+00. MathL.arcsin(1.0000000000000000D+000): 1.5707963267949002D+000
|
||||
Math.arcsin(1.39999998E+00): 3.40282347E+38. MathL.arcsin(1.4000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(1.50000000E+00): 3.40282347E+38. MathL.arcsin(1.5000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(1.60000002E+00): 3.40282347E+38. MathL.arcsin(1.6000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(1.89999998E+00): 3.40282347E+38. MathL.arcsin(1.9000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(2.00000000E+00): 3.40282347E+38. MathL.arcsin(2.0000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(2.40000010E+00): 3.40282347E+38. MathL.arcsin(2.4000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(2.50000000E+00): 3.40282347E+38. MathL.arcsin(2.5000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(3.00000000E+00): 3.40282347E+38. MathL.arcsin(3.0000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(4.00000000E+00): 3.40282347E+38. MathL.arcsin(4.0000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-8.9999998E-01): -4.5102686E-01. MathL.arcsin(-9.000000000000000D-001): -1.119769514998636D+000
|
||||
Math.arcsin(-1.0000000E+00): -0.0000000E+00. MathL.arcsin(-1.000000000000000D+000): -1.570796326794900D+000
|
||||
Math.arcsin(-1.4000000E+00): 3.40282347E+38. MathL.arcsin(-1.400000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-1.5000000E+00): 3.40282347E+38. MathL.arcsin(-1.500000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-1.6000000E+00): 3.40282347E+38. MathL.arcsin(-1.600000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-1.9000000E+00): 3.40282347E+38. MathL.arcsin(-1.900000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-2.0000000E+00): 3.40282347E+38. MathL.arcsin(-2.000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-2.4000001E+00): 3.40282347E+38. MathL.arcsin(-2.400000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-2.5000000E+00): 3.40282347E+38. MathL.arcsin(-2.500000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-3.0000000E+00): 3.40282347E+38. MathL.arcsin(-3.000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arcsin(-4.0000000E+00): 3.40282347E+38. MathL.arcsin(-4.000000000000000D+000): 1.7976929634209390D+308
|
||||
|
||||
Math.arccos(8.99999976E-01): -4.5102686E-01. MathL.arccos(9.0000000000000000D-001): 4.5102681179626320D-001
|
||||
Math.arccos(1.00000000E+00): -0.0000000E+00. MathL.arccos(1.0000000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccos(1.39999998E+00): 3.40282347E+38. MathL.arccos(1.4000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(1.50000000E+00): 3.40282347E+38. MathL.arccos(1.5000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(1.60000002E+00): 3.40282347E+38. MathL.arccos(1.6000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(1.89999998E+00): 3.40282347E+38. MathL.arccos(1.9000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(2.00000000E+00): 3.40282347E+38. MathL.arccos(2.0000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(2.40000010E+00): 3.40282347E+38. MathL.arccos(2.4000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(2.50000000E+00): 3.40282347E+38. MathL.arccos(2.5000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(3.00000000E+00): 3.40282347E+38. MathL.arccos(3.0000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(4.00000000E+00): 3.40282347E+38. MathL.arccos(4.0000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-8.9999998E-01): -4.5102686E-01. MathL.arccos(-9.000000000000000D-001): 2.6905658417935268D+000
|
||||
Math.arccos(-1.0000000E+00): -0.0000000E+00. MathL.arccos(-1.000000000000000D+000): 3.1415926535897900D+000
|
||||
Math.arccos(-1.4000000E+00): 3.40282347E+38. MathL.arccos(-1.400000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-1.5000000E+00): 3.40282347E+38. MathL.arccos(-1.500000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-1.6000000E+00): 3.40282347E+38. MathL.arccos(-1.600000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-1.9000000E+00): 3.40282347E+38. MathL.arccos(-1.900000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-2.0000000E+00): 3.40282347E+38. MathL.arccos(-2.000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-2.4000001E+00): 3.40282347E+38. MathL.arccos(-2.400000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-2.5000000E+00): 3.40282347E+38. MathL.arccos(-2.500000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-3.0000000E+00): 3.40282347E+38. MathL.arccos(-3.000000000000000D+000): 1.7976929634209390D+308
|
||||
Math.arccos(-4.0000000E+00): 3.40282347E+38. MathL.arccos(-4.000000000000000D+000): 1.7976929634209390D+308
|
||||
|
||||
Math.arctan(8.99999976E-01): 7.32815087E-01. MathL.arctan(9.0000000000000000D-001): 7.3281510178650752D-001
|
||||
Math.arctan(1.00000000E+00): 7.85398126E-01. MathL.arctan(1.0000000000000000D+000): 7.8539816339744912D-001
|
||||
Math.arctan(1.39999998E+00): 9.50546861E-01. MathL.arctan(1.4000000000000000D+000): 9.5054684081207680D-001
|
||||
Math.arctan(1.50000000E+00): 9.82793748E-01. MathL.arctan(1.5000000000000000D+000): 9.8279372324733072D-001
|
||||
Math.arctan(1.60000002E+00): 1.01219702E+00. MathL.arctan(1.6000000000000000D+000): 1.0121970114513358D+000
|
||||
Math.arctan(1.89999998E+00): 1.08631849E+00. MathL.arctan(1.9000000000000000D+000): 1.0863183977578750D+000
|
||||
Math.arctan(2.00000000E+00): 1.10714877E+00. MathL.arctan(2.0000000000000000D+000): 1.1071487177940922D+000
|
||||
Math.arctan(2.40000010E+00): 1.17600524E+00. MathL.arctan(2.4000000000000000D+000): 1.1760052070951368D+000
|
||||
Math.arctan(2.50000000E+00): 1.19028997E+00. MathL.arctan(2.5000000000000000D+000): 1.1902899496825334D+000
|
||||
Math.arctan(3.00000000E+00): 1.24904585E+00. MathL.arctan(3.0000000000000000D+000): 1.2490457723982562D+000
|
||||
Math.arctan(4.00000000E+00): 1.32581770E+00. MathL.arctan(4.0000000000000000D+000): 1.3258176636680358D+000
|
||||
Math.arctan(-8.9999998E-01): -7.3281509E-01. MathL.arctan(-9.000000000000000D-001): -7.328151017865076D-001
|
||||
Math.arctan(-1.0000000E+00): -7.8539813E-01. MathL.arctan(-1.000000000000000D+000): -7.853981633974492D-001
|
||||
Math.arctan(-1.4000000E+00): -9.5054686E-01. MathL.arctan(-1.400000000000000D+000): -9.505468408120768D-001
|
||||
Math.arctan(-1.5000000E+00): -9.8279375E-01. MathL.arctan(-1.500000000000000D+000): -9.827937232473306D-001
|
||||
Math.arctan(-1.6000000E+00): -1.0121970E+00. MathL.arctan(-1.600000000000000D+000): -1.012197011451336D+000
|
||||
Math.arctan(-1.9000000E+00): -1.0863185E+00. MathL.arctan(-1.900000000000000D+000): -1.086318397757875D+000
|
||||
Math.arctan(-2.0000000E+00): -1.1071488E+00. MathL.arctan(-2.000000000000000D+000): -1.107148717794092D+000
|
||||
Math.arctan(-2.4000001E+00): -1.1760052E+00. MathL.arctan(-2.400000000000000D+000): -1.176005207095137D+000
|
||||
Math.arctan(-2.5000000E+00): -1.1902900E+00. MathL.arctan(-2.500000000000000D+000): -1.190289949682534D+000
|
||||
Math.arctan(-3.0000000E+00): -1.2490458E+00. MathL.arctan(-3.000000000000000D+000): -1.249045772398256D+000
|
||||
Math.arctan(-4.0000000E+00): -1.3258177E+00. MathL.arctan(-4.000000000000000D+000): -1.325817663668036D+000
|
||||
|
||||
Math.sinh(8.99999976E-01): 1.02651668E+00. MathL.sinh(9.0000000000000000D-001): 1.0265167257081750D+000
|
||||
Math.sinh(1.00000000E+00): 1.17520118E+00. MathL.sinh(1.0000000000000000D+000): 1.1752011936438012D+000
|
||||
Math.sinh(1.39999998E+00): 1.90430152E+00. MathL.sinh(1.4000000000000000D+000): 1.9043015014515340D+000
|
||||
Math.sinh(1.50000000E+00): 2.12927938E+00. MathL.sinh(1.5000000000000000D+000): 2.1292794550948172D+000
|
||||
Math.sinh(1.60000002E+00): 2.37556791E+00. MathL.sinh(1.6000000000000000D+000): 2.3755679532002296D+000
|
||||
Math.sinh(1.89999998E+00): 3.26816273E+00. MathL.sinh(1.9000000000000000D+000): 3.2681629115283168D+000
|
||||
Math.sinh(2.00000000E+00): 3.62686038E+00. MathL.sinh(2.0000000000000000D+000): 3.6268604078470192D+000
|
||||
Math.sinh(2.40000010E+00): 5.46622944E+00. MathL.sinh(2.4000000000000000D+000): 5.4662292136760936D+000
|
||||
Math.sinh(2.50000000E+00): 6.05020475E+00. MathL.sinh(2.5000000000000000D+000): 6.0502044810397872D+000
|
||||
Math.sinh(3.00000000E+00): 1.00178747E+01. MathL.sinh(3.0000000000000000D+000): 1.0017874927409902D+001
|
||||
Math.sinh(4.00000000E+00): 2.72899189E+01. MathL.sinh(4.0000000000000000D+000): 2.7289917197127748D+001
|
||||
Math.sinh(-8.9999998E-01): -1.0265167E+00. MathL.sinh(-9.000000000000000D-001): -1.026516725708175D+000
|
||||
Math.sinh(-1.0000000E+00): -1.1752012E+00. MathL.sinh(-1.000000000000000D+000): -1.175201193643801D+000
|
||||
Math.sinh(-1.4000000E+00): -1.9043015E+00. MathL.sinh(-1.400000000000000D+000): -1.904301501451534D+000
|
||||
Math.sinh(-1.5000000E+00): -2.1292794E+00. MathL.sinh(-1.500000000000000D+000): -2.129279455094817D+000
|
||||
Math.sinh(-1.6000000E+00): -2.3755679E+00. MathL.sinh(-1.600000000000000D+000): -2.375567953200230D+000
|
||||
Math.sinh(-1.9000000E+00): -3.2681627E+00. MathL.sinh(-1.900000000000000D+000): -3.268162911528317D+000
|
||||
Math.sinh(-2.0000000E+00): -3.6268604E+00. MathL.sinh(-2.000000000000000D+000): -3.626860407847019D+000
|
||||
Math.sinh(-2.4000001E+00): -5.4662294E+00. MathL.sinh(-2.400000000000000D+000): -5.466229213676094D+000
|
||||
Math.sinh(-2.5000000E+00): -6.0502048E+00. MathL.sinh(-2.500000000000000D+000): -6.050204481039788D+000
|
||||
Math.sinh(-3.0000000E+00): -1.0017875E+01. MathL.sinh(-3.000000000000000D+000): -1.001787492740990D+001
|
||||
Math.sinh(-4.0000000E+00): -2.7289919E+01. MathL.sinh(-4.000000000000000D+000): -2.728991719712775D+001
|
||||
|
||||
Math.cosh(8.99999976E-01): 1.43308640E+00. MathL.cosh(9.0000000000000000D-001): 1.4330863854487746D+000
|
||||
Math.cosh(1.00000000E+00): 1.54308057E+00. MathL.cosh(1.0000000000000000D+000): 1.5430806348152440D+000
|
||||
Math.cosh(1.39999998E+00): 2.15089846E+00. MathL.cosh(1.4000000000000000D+000): 2.1508984653931408D+000
|
||||
Math.cosh(1.50000000E+00): 2.35240960E+00. MathL.cosh(1.5000000000000000D+000): 2.3524096152432472D+000
|
||||
Math.cosh(1.60000002E+00): 2.57746458E+00. MathL.cosh(1.6000000000000000D+000): 2.5774644711948852D+000
|
||||
Math.cosh(1.89999998E+00): 3.41773129E+00. MathL.cosh(1.9000000000000000D+000): 3.4177315307509520D+000
|
||||
Math.cosh(2.00000000E+00): 3.76219583E+00. MathL.cosh(2.0000000000000000D+000): 3.7621956910836312D+000
|
||||
Math.cosh(2.40000010E+00): 5.55694771E+00. MathL.cosh(2.4000000000000000D+000): 5.5569471669655072D+000
|
||||
Math.cosh(2.50000000E+00): 6.13228941E+00. MathL.cosh(2.5000000000000000D+000): 6.1322894796636856D+000
|
||||
Math.cosh(3.00000000E+00): 1.00676622E+01. MathL.cosh(3.0000000000000000D+000): 1.0067661995777766D+001
|
||||
Math.cosh(4.00000000E+00): 2.73082333E+01. MathL.cosh(4.0000000000000000D+000): 2.7308232836016488D+001
|
||||
Math.cosh(-8.9999998E-01): 1.43308640E+00. MathL.cosh(-9.000000000000000D-001): 1.4330863854487746D+000
|
||||
Math.cosh(-1.0000000E+00): 1.54308057E+00. MathL.cosh(-1.000000000000000D+000): 1.5430806348152440D+000
|
||||
Math.cosh(-1.4000000E+00): 2.15089846E+00. MathL.cosh(-1.400000000000000D+000): 2.1508984653931408D+000
|
||||
Math.cosh(-1.5000000E+00): 2.35240960E+00. MathL.cosh(-1.500000000000000D+000): 2.3524096152432472D+000
|
||||
Math.cosh(-1.6000000E+00): 2.57746458E+00. MathL.cosh(-1.600000000000000D+000): 2.5774644711948852D+000
|
||||
Math.cosh(-1.9000000E+00): 3.41773129E+00. MathL.cosh(-1.900000000000000D+000): 3.4177315307509520D+000
|
||||
Math.cosh(-2.0000000E+00): 3.76219583E+00. MathL.cosh(-2.000000000000000D+000): 3.7621956910836312D+000
|
||||
Math.cosh(-2.4000001E+00): 5.55694771E+00. MathL.cosh(-2.400000000000000D+000): 5.5569471669655072D+000
|
||||
Math.cosh(-2.5000000E+00): 6.13228941E+00. MathL.cosh(-2.500000000000000D+000): 6.1322894796636856D+000
|
||||
Math.cosh(-3.0000000E+00): 1.00676622E+01. MathL.cosh(-3.000000000000000D+000): 1.0067661995777766D+001
|
||||
Math.cosh(-4.0000000E+00): 2.73082333E+01. MathL.cosh(-4.000000000000000D+000): 2.7308232836016488D+001
|
||||
|
||||
Math.tanh(8.99999976E-01): 7.16297865E-01. MathL.tanh(9.0000000000000000D-001): 7.1629787019902448D-001
|
||||
Math.tanh(1.00000000E+00): 7.61594176E-01. MathL.tanh(1.0000000000000000D+000): 7.6159415595576480D-001
|
||||
Math.tanh(1.39999998E+00): 8.85351658E-01. MathL.tanh(1.4000000000000000D+000): 8.8535164820226256D-001
|
||||
Math.tanh(1.50000000E+00): 9.05148268E-01. MathL.tanh(1.5000000000000000D+000): 9.0514825364486640D-001
|
||||
Math.tanh(1.60000002E+00): 9.21668530E-01. MathL.tanh(1.6000000000000000D+000): 9.2166855440647136D-001
|
||||
Math.tanh(1.89999998E+00): 9.56237435E-01. MathL.tanh(1.9000000000000000D+000): 9.5623745812773904D-001
|
||||
Math.tanh(2.00000000E+00): 9.64027584E-01. MathL.tanh(2.0000000000000000D+000): 9.6402758007581680D-001
|
||||
Math.tanh(2.40000010E+00): 9.83674884E-01. MathL.tanh(2.4000000000000000D+000): 9.8367485769368016D-001
|
||||
Math.tanh(2.50000000E+00): 9.86614287E-01. MathL.tanh(2.5000000000000000D+000): 9.8661429815143024D-001
|
||||
Math.tanh(3.00000000E+00): 9.95054781E-01. MathL.tanh(3.0000000000000000D+000): 9.9505475368673040D-001
|
||||
Math.tanh(4.00000000E+00): 9.99329329E-01. MathL.tanh(4.0000000000000000D+000): 9.9932929973906704D-001
|
||||
Math.tanh(-8.9999998E-01): -7.1629786E-01. MathL.tanh(-9.000000000000000D-001): -7.162978701990244D-001
|
||||
Math.tanh(-1.0000000E+00): -7.6159418E-01. MathL.tanh(-1.000000000000000D+000): -7.615941559557650D-001
|
||||
Math.tanh(-1.4000000E+00): -8.8535166E-01. MathL.tanh(-1.400000000000000D+000): -8.853516482022626D-001
|
||||
Math.tanh(-1.5000000E+00): -9.0514827E-01. MathL.tanh(-1.500000000000000D+000): -9.051482536448664D-001
|
||||
Math.tanh(-1.6000000E+00): -9.2166853E-01. MathL.tanh(-1.600000000000000D+000): -9.216685544064714D-001
|
||||
Math.tanh(-1.9000000E+00): -9.5623744E-01. MathL.tanh(-1.900000000000000D+000): -9.562374581277390D-001
|
||||
Math.tanh(-2.0000000E+00): -9.6402758E-01. MathL.tanh(-2.000000000000000D+000): -9.640275800758168D-001
|
||||
Math.tanh(-2.4000001E+00): -9.8367488E-01. MathL.tanh(-2.400000000000000D+000): -9.836748576936802D-001
|
||||
Math.tanh(-2.5000000E+00): -9.8661429E-01. MathL.tanh(-2.500000000000000D+000): -9.866142981514302D-001
|
||||
Math.tanh(-3.0000000E+00): -9.9505478E-01. MathL.tanh(-3.000000000000000D+000): -9.950547536867304D-001
|
||||
Math.tanh(-4.0000000E+00): -9.9932933E-01. MathL.tanh(-4.000000000000000D+000): -9.993292997390670D-001
|
||||
|
||||
Math.arcsinh(8.99999976E-01): 8.08866858E-01. MathL.arcsinh(9.0000000000000000D-001): 8.0886693565278304D-001
|
||||
Math.arcsinh(1.00000000E+00): 8.81373644E-01. MathL.arcsinh(1.0000000000000000D+000): 8.8137358701954304D-001
|
||||
Math.arcsinh(1.39999998E+00): 1.13798201E+00. MathL.arcsinh(1.4000000000000000D+000): 1.1379820462933672D+000
|
||||
Math.arcsinh(1.50000000E+00): 1.19476318E+00. MathL.arcsinh(1.5000000000000000D+000): 1.1947632172871094D+000
|
||||
Math.arcsinh(1.60000002E+00): 1.24898338E+00. MathL.arcsinh(1.6000000000000000D+000): 1.2489833279048764D+000
|
||||
Math.arcsinh(1.89999998E+00): 1.39799833E+00. MathL.arcsinh(1.9000000000000000D+000): 1.3979983651114348D+000
|
||||
Math.arcsinh(2.00000000E+00): 1.44363546E+00. MathL.arcsinh(2.0000000000000000D+000): 1.4436354751788108D+000
|
||||
Math.arcsinh(2.40000010E+00): 1.60943794E+00. MathL.arcsinh(2.4000000000000000D+000): 1.6094379124341008D+000
|
||||
Math.arcsinh(2.50000000E+00): 1.64723110E+00. MathL.arcsinh(2.5000000000000000D+000): 1.6472311463710960D+000
|
||||
Math.arcsinh(3.00000000E+00): 1.81844652E+00. MathL.arcsinh(3.0000000000000000D+000): 1.8184464592320672D+000
|
||||
Math.arcsinh(4.00000000E+00): 2.09471250E+00. MathL.arcsinh(4.0000000000000000D+000): 2.0947125472611016D+000
|
||||
Math.arcsinh(-8.9999998E-01): -8.0886686E-01. MathL.arcsinh(-9.000000000000000D-001): -8.088669356527832D-001
|
||||
Math.arcsinh(-1.0000000E+00): -8.8137364E-01. MathL.arcsinh(-1.000000000000000D+000): -8.813735870195430D-001
|
||||
Math.arcsinh(-1.4000000E+00): -1.1379820E+00. MathL.arcsinh(-1.400000000000000D+000): -1.137982046293367D+000
|
||||
Math.arcsinh(-1.5000000E+00): -1.1947632E+00. MathL.arcsinh(-1.500000000000000D+000): -1.194763217287110D+000
|
||||
Math.arcsinh(-1.6000000E+00): -1.2489834E+00. MathL.arcsinh(-1.600000000000000D+000): -1.248983327904876D+000
|
||||
Math.arcsinh(-1.9000000E+00): -1.3979983E+00. MathL.arcsinh(-1.900000000000000D+000): -1.397998365111435D+000
|
||||
Math.arcsinh(-2.0000000E+00): -1.4436355E+00. MathL.arcsinh(-2.000000000000000D+000): -1.443635475178811D+000
|
||||
Math.arcsinh(-2.4000001E+00): -1.6094379E+00. MathL.arcsinh(-2.400000000000000D+000): -1.609437912434101D+000
|
||||
Math.arcsinh(-2.5000000E+00): -1.6472311E+00. MathL.arcsinh(-2.500000000000000D+000): -1.647231146371096D+000
|
||||
Math.arcsinh(-3.0000000E+00): -1.8184465E+00. MathL.arcsinh(-3.000000000000000D+000): -1.818446459232067D+000
|
||||
Math.arcsinh(-4.0000000E+00): -2.0947125E+00. MathL.arcsinh(-4.000000000000000D+000): -2.094712547261102D+000
|
||||
|
||||
Math.arccosh(8.99999976E-01): 0.00000000E+00. MathL.arccosh(9.0000000000000000D-001): 0.0000000000000000D+000
|
||||
Math.arccosh(1.00000000E+00): 0.00000000E+00. MathL.arccosh(1.0000000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(1.39999998E+00): 8.67014706E-01. MathL.arccosh(1.4000000000000000D+000): 8.6701472649056496D-001
|
||||
Math.arccosh(1.50000000E+00): 9.62423623E-01. MathL.arccosh(1.5000000000000000D+000): 9.6242365011920720D-001
|
||||
Math.arccosh(1.60000002E+00): 1.04696786E+00. MathL.arccosh(1.6000000000000000D+000): 1.0469679150031890D+000
|
||||
Math.arccosh(1.89999998E+00): 1.25719583E+00. MathL.arccosh(1.9000000000000000D+000): 1.2571958266003804D+000
|
||||
Math.arccosh(2.00000000E+00): 1.31695795E+00. MathL.arccosh(2.0000000000000000D+000): 1.3169578969248166D+000
|
||||
Math.arccosh(2.40000010E+00): 1.52207935E+00. MathL.arccosh(2.4000000000000000D+000): 1.5220793674636536D+000
|
||||
Math.arccosh(2.50000000E+00): 1.56679916E+00. MathL.arccosh(2.5000000000000000D+000): 1.5667992369724114D+000
|
||||
Math.arccosh(3.00000000E+00): 1.76274717E+00. MathL.arccosh(3.0000000000000000D+000): 1.7627471740390860D+000
|
||||
Math.arccosh(4.00000000E+00): 2.06343699E+00. MathL.arccosh(4.0000000000000000D+000): 2.0634370688955608D+000
|
||||
Math.arccosh(-8.9999998E-01): 0.00000000E+00. MathL.arccosh(-9.000000000000000D-001): 0.0000000000000000D+000
|
||||
Math.arccosh(-1.0000000E+00): 0.00000000E+00. MathL.arccosh(-1.000000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-1.4000000E+00): 0.00000000E+00. MathL.arccosh(-1.400000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-1.5000000E+00): 0.00000000E+00. MathL.arccosh(-1.500000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-1.6000000E+00): 0.00000000E+00. MathL.arccosh(-1.600000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-1.9000000E+00): 0.00000000E+00. MathL.arccosh(-1.900000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-2.0000000E+00): 0.00000000E+00. MathL.arccosh(-2.000000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-2.4000001E+00): 0.00000000E+00. MathL.arccosh(-2.400000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-2.5000000E+00): 0.00000000E+00. MathL.arccosh(-2.500000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-3.0000000E+00): 0.00000000E+00. MathL.arccosh(-3.000000000000000D+000): 0.0000000000000000D+000
|
||||
Math.arccosh(-4.0000000E+00): 0.00000000E+00. MathL.arccosh(-4.000000000000000D+000): 0.0000000000000000D+000
|
||||
|
||||
Math.arctanh(8.99999976E-01): 1.47221935E+00. MathL.arctanh(9.0000000000000000D-001): 1.4722194895832210D+000
|
||||
Math.arctanh(1.00000000E+00): 8.66434002E+00. MathL.arctanh(1.0000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(1.39999998E+00): 8.66434002E+00. MathL.arctanh(1.4000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(1.50000000E+00): 8.66434002E+00. MathL.arctanh(1.5000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(1.60000002E+00): 8.66434002E+00. MathL.arctanh(1.6000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(1.89999998E+00): 8.66434002E+00. MathL.arctanh(1.9000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(2.00000000E+00): 8.66434002E+00. MathL.arctanh(2.0000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(2.40000010E+00): 8.66434002E+00. MathL.arctanh(2.4000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(2.50000000E+00): 8.66434002E+00. MathL.arctanh(2.5000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(3.00000000E+00): 8.66434002E+00. MathL.arctanh(3.0000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(4.00000000E+00): 8.66434002E+00. MathL.arctanh(4.0000000000000000D+000): 1.8714973875118524D+001
|
||||
Math.arctanh(-8.9999998E-01): -1.4722193E+00. MathL.arctanh(-9.000000000000000D-001): -1.472219489583221D+000
|
||||
Math.arctanh(-1.0000000E+00): -8.6643400E+00. MathL.arctanh(-1.000000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-1.4000000E+00): -8.6643400E+00. MathL.arctanh(-1.400000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-1.5000000E+00): -8.6643400E+00. MathL.arctanh(-1.500000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-1.6000000E+00): -8.6643400E+00. MathL.arctanh(-1.600000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-1.9000000E+00): -8.6643400E+00. MathL.arctanh(-1.900000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-2.0000000E+00): -8.6643400E+00. MathL.arctanh(-2.000000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-2.4000001E+00): -8.6643400E+00. MathL.arctanh(-2.400000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-2.5000000E+00): -8.6643400E+00. MathL.arctanh(-2.500000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-3.0000000E+00): -8.6643400E+00. MathL.arctanh(-3.000000000000000D+000): -1.871497387511852D+001
|
||||
Math.arctanh(-4.0000000E+00): -8.6643400E+00. MathL.arctanh(-4.000000000000000D+000): -1.871497387511852D+001
|
||||
|
||||
145
src/test/confidence/math/mathtest.mod
Normal file
145
src/test/confidence/math/mathtest.mod
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
MODULE mathtest;
|
||||
IMPORT Math, MathL, Out, SYSTEM;
|
||||
|
||||
TYPE
|
||||
RtoR = PROCEDURE(x: REAL): REAL;
|
||||
LRtoLR = PROCEDURE(x: LONGREAL): LONGREAL;
|
||||
RtoLI = PROCEDURE(x: REAL): LONGINT;
|
||||
LRtoLI = PROCEDURE(x: LONGREAL): LONGINT;
|
||||
|
||||
Values = RECORD
|
||||
v: ARRAY 100 OF LONGREAL;
|
||||
n: INTEGER
|
||||
END;
|
||||
|
||||
VAR
|
||||
r: REAL;
|
||||
lr: LONGREAL;
|
||||
misc: Values;
|
||||
angles: Values;
|
||||
|
||||
|
||||
PROCEDURE wc(c: CHAR); BEGIN Out.Char(c) END wc;
|
||||
PROCEDURE ws(s: ARRAY OF CHAR); BEGIN Out.String(s) END ws;
|
||||
PROCEDURE wi(i: HUGEINT); BEGIN Out.Int(i,1) END wi;
|
||||
PROCEDURE wr(r: REAL); BEGIN Out.Real(r,14) END wr;
|
||||
PROCEDURE wlr(lr: LONGREAL); BEGIN Out.LongReal(lr,23) END wlr;
|
||||
PROCEDURE wl; BEGIN Out.Ln END wl;
|
||||
|
||||
PROCEDURE wh(VAR h: ARRAY OF SYSTEM.BYTE);
|
||||
VAR i: INTEGER; b: SYSTEM.INT8;
|
||||
BEGIN
|
||||
i := SHORT(LEN(h));
|
||||
WHILE i > 0 DO
|
||||
DEC(i); b := SYSTEM.VAL(SYSTEM.INT8, h[i]);
|
||||
IF b DIV 16 MOD 16 < 10 THEN wc(CHR(b DIV 16 MOD 16 + 48)) ELSE wc(CHR(b DIV 16 MOD 16 + 55)) END;
|
||||
IF b MOD 16 < 10 THEN wc(CHR(b MOD 16 + 48)) ELSE wc(CHR(b MOD 16 + 55)) END;
|
||||
END
|
||||
END wh;
|
||||
|
||||
PROCEDURE addvalue(lr: LONGREAL; VAR val: Values);
|
||||
BEGIN val.v[val.n] := lr; INC(val.n)
|
||||
END addvalue;
|
||||
|
||||
PROCEDURE MathErrorHandler(error: INTEGER);
|
||||
BEGIN
|
||||
ws("<Math(L) error ");
|
||||
CASE error OF
|
||||
|Math.NoError: ws("NoError")
|
||||
|Math.IllegalRoot: ws("IllegalRoot")
|
||||
|Math.IllegalLog: ws("IllegalLog")
|
||||
|Math.Overflow: ws("Overflow")
|
||||
|Math.IllegalPower: ws("IllegalPower")
|
||||
|Math.IllegalLogBase: ws("IllegalLogBase")
|
||||
|Math.IllegalTrig: ws("IllegalTrig")
|
||||
|Math.IllegalInvTrig: ws("IllegalInvTrig")
|
||||
|Math.HypInvTrigClipped: ws("HypInvTrigClipped")
|
||||
|Math.IllegalHypInvTrig: ws("IllegalHypInvTrig")
|
||||
|Math.LossOfAccuracy: ws("LossOfAccuracy")
|
||||
|Math.Underflow: ws("Underflow")
|
||||
ELSE wi(error); ws(" (unknknown)")
|
||||
END;
|
||||
ws("> ")
|
||||
END MathErrorHandler;
|
||||
|
||||
PROCEDURE TestRtoR(s: ARRAY OF CHAR; p: RtoR; lp: LRtoLR; val: Values);
|
||||
VAR i: INTEGER; r: REAL;
|
||||
BEGIN
|
||||
i := 0;
|
||||
WHILE i < val.n DO
|
||||
r := SHORT(val.v[i]);
|
||||
ws("Math."); ws(s); ws("("); wr(r); ws("): "); wr(p(r));
|
||||
ws(". MathL."); ws(s); ws("("); wlr(val.v[i]); ws("): "); wlr(lp(val.v[i])); wl;
|
||||
INC(i)
|
||||
END;
|
||||
wl;
|
||||
END TestRtoR;
|
||||
|
||||
PROCEDURE TestRtoLI(s: ARRAY OF CHAR; p: RtoLI; lp: LRtoLI; val: Values);
|
||||
VAR i: INTEGER; r: REAL;
|
||||
BEGIN
|
||||
i := 0;
|
||||
WHILE i < val.n DO
|
||||
r := SHORT(val.v[i]);
|
||||
ws("Math."); ws(s); ws("("); wr(r); ws("): "); wi(p(r));
|
||||
ws(". MathL."); ws(s); ws("("); wlr(val.v[i]); ws("): "); wi(lp(val.v[i])); wl;
|
||||
INC(i)
|
||||
END;
|
||||
wl;
|
||||
END TestRtoLI;
|
||||
|
||||
PROCEDURE round(lr: LONGREAL);
|
||||
VAR r: REAL;
|
||||
BEGIN
|
||||
r := SHORT(lr);
|
||||
ws("Math.round("); wr(r); ws("): "); wi(Math.round(r));
|
||||
ws(". MathL.round("); wlr(lr); ws("): "); wi(MathL.round(lr)); wl
|
||||
END round;
|
||||
|
||||
PROCEDURE sqrt(lr: LONGREAL);
|
||||
VAR r: REAL;
|
||||
BEGIN
|
||||
r := SHORT(lr);
|
||||
ws("Math.sqrt("); wr(r); ws("): "); wr(Math.sqrt(r));
|
||||
ws(". MathL.sqrt("); wlr(r); ws("): "); wlr(MathL.sqrt(r)); wl
|
||||
END sqrt;
|
||||
|
||||
|
||||
BEGIN
|
||||
ws("Math and MathL module tests."); wl; wl;
|
||||
|
||||
misc.n := 0;
|
||||
addvalue(0.9D0, misc); addvalue(1.0D0, misc); addvalue(1.4D0, misc); addvalue(1.5D0, misc); addvalue(1.6D0, misc); addvalue(1.9D0, misc);
|
||||
addvalue(2.0D0, misc); addvalue(2.4D0, misc); addvalue(2.5D0, misc);
|
||||
addvalue(3.0D0, misc); addvalue(4.0D0, misc);
|
||||
|
||||
addvalue(-0.9D0, misc); addvalue(-1.0D0, misc); addvalue(-1.4D0, misc); addvalue(-1.5D0, misc); addvalue(-1.6D0, misc); addvalue(-1.9D0, misc);
|
||||
addvalue(-2.0D0, misc); addvalue(-2.4D0, misc); addvalue(-2.5D0, misc);
|
||||
addvalue(-3.0D0, misc); addvalue(-4.0D0, misc);
|
||||
|
||||
angles.n:= 0;
|
||||
addvalue(0.0D0, angles); addvalue(0.1D0, angles);
|
||||
addvalue(MathL.pi/3.0D0, angles); addvalue(MathL.pi/2.0D0, angles); addvalue(MathL.pi, angles);
|
||||
addvalue(-MathL.pi/3.0D0, angles); addvalue(-MathL.pi/2.0D0, angles); addvalue(-MathL.pi, angles);
|
||||
|
||||
TestRtoR("fraction", Math.fraction, MathL.fraction, misc);
|
||||
TestRtoLI("round", Math.round, MathL.round, misc);
|
||||
TestRtoR("sqrt", Math.sqrt, MathL.sqrt, misc);
|
||||
TestRtoR("exp", Math.exp, MathL.exp, misc);
|
||||
TestRtoR("ln", Math.ln, MathL.ln, misc);
|
||||
TestRtoR("sin", Math.sin, MathL.sin, angles);
|
||||
TestRtoR("cos", Math.cos, MathL.cos, angles);
|
||||
TestRtoR("tan", Math.tan, MathL.tan, angles);
|
||||
TestRtoR("arcsin", Math.arcsin, MathL.arcsin, misc);
|
||||
TestRtoR("arccos", Math.arccos, MathL.arccos, misc);
|
||||
TestRtoR("arctan", Math.arctan, MathL.arctan, misc);
|
||||
TestRtoR("sinh", Math.sinh, MathL.sinh, misc);
|
||||
TestRtoR("cosh", Math.cosh, MathL.cosh, misc);
|
||||
TestRtoR("tanh", Math.tanh, MathL.tanh, misc);
|
||||
TestRtoR("arcsinh", Math.arcsinh, MathL.arcsinh, misc);
|
||||
TestRtoR("arccosh", Math.arccosh, MathL.arccosh, misc);
|
||||
TestRtoR("arctanh", Math.arctanh, MathL.arctanh, misc);
|
||||
|
||||
(* todo power, log, ipower, sincos, arctan2 *)
|
||||
|
||||
END mathtest.
|
||||
5
src/test/confidence/math/test.sh
Normal file
5
src/test/confidence/math/test.sh
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
. ../testenv.sh
|
||||
$OBECOMP mathtest.mod -m -OC
|
||||
./mathtest >result
|
||||
. ../testresult.sh
|
||||
|
|
@ -1 +1 @@
|
|||
30 Sep 2016 18:58:19
|
||||
16 Oct 2016 13:42:18
|
||||
|
|
|
|||
|
|
@ -382,12 +382,13 @@ RUNTEST = COMPILER=$(COMPILER) OBECOMP="$(OBECOMP) -O$(MODEL)" FLAVOUR=$(FLAVOUR
|
|||
|
||||
confidence:
|
||||
@printf "\n\n--- Confidence tests ---\n\n"
|
||||
# cd src/test/confidence/math; $(RUNTEST)
|
||||
cd src/test/confidence/math; $(RUNTEST)
|
||||
cd src/test/confidence/hello; $(RUNTEST)
|
||||
cd src/test/confidence/out; $(RUNTEST)
|
||||
cd src/test/confidence/intsyntax; $(RUNTEST)
|
||||
cd src/test/confidence/language; $(RUNTEST)
|
||||
cd src/test/confidence/texts; $(RUNTEST)
|
||||
cd src/test/confidence/math; $(RUNTEST)
|
||||
cd src/test/confidence/library; $(RUNTEST)
|
||||
cd src/test/confidence/lola; $(RUNTEST)
|
||||
cd src/test/confidence/arrayassignment; $(RUNTEST)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue