mirror of
https://git.freebsd.org/ports.git
synced 2025-06-16 02:00:30 -04:00
regmath contains two different implementations of math libraries for the REXX language. PR: 221573 Submitted by: bob@eager.cx
96 lines
2.3 KiB
Rexx
96 lines
2.3 KiB
Rexx
#!/usr/local/bin/regina
|
|
|
|
/*
|
|
* Tests and examples for RexxMath (AMath)
|
|
*
|
|
* Bob Eager August 2017
|
|
*
|
|
*/
|
|
|
|
/* Load the library */
|
|
|
|
rc = RxFuncAdd('MathLoadFuncs','rexxmath','MathLoadFuncs')
|
|
say 'MathLoadFuncs =>' rc
|
|
call MathLoadFuncs
|
|
|
|
say ''
|
|
say '+++ Trig functions (all in radians) +++'
|
|
|
|
pi = 3.14159265358979323846264338327
|
|
rad30 = 30*(pi/180)
|
|
rad45 = 45*(pi/180)
|
|
rc = Sin(rad30)
|
|
say "Sin(rad30) =>" rc '(should be about 0.5)'
|
|
rc = ASin(0.5)
|
|
say "ASin(0.5) =>" rc '(should be about' format(rad30,1,6)')'
|
|
rc = Cos(rad30)
|
|
say "Cos(rad30) =>" rc '(should be about 0.866025)'
|
|
rc = ACos(0.866025)
|
|
say "ACos(0.866025) =>" rc '(should be about' format(rad30,1,6)')'
|
|
rc = Tan(rad45)
|
|
say "Tan(rad45) =>" rc '(should be about 1)'
|
|
rc = ATan(1)
|
|
say "ATan(1) =>" rc '(should be about' format(rad45,1,6)')'
|
|
rc = ATan(1,1)
|
|
say "ATan(1,1) =>" rc '(should be about' format(rad45,1,6)')'
|
|
rc = CoT(rad30)
|
|
say "CoT(rad30) =>" rc '(should be about 1.73205)'
|
|
rc = CoTan(rad30)
|
|
say "CoTan(rad30) =>" rc '(should be about 1.73205)'
|
|
rc = CSc(rad30)
|
|
say "CSc(rad30) =>" rc '(should be about 2)'
|
|
rc = Sec(rad30)
|
|
say "Secc(rad30) =>" rc '(should be about 1.15470)'
|
|
|
|
say ''
|
|
say '+++ Exponential functions +++'
|
|
|
|
rc = Exp(0)
|
|
say 'Exp(0) =>' rc '(should be about 1)'
|
|
rc = Exp(1)
|
|
say 'Exp(1) =>' rc '(should be about 2.71828)'
|
|
rc = Log(1)
|
|
say 'Log(1) =>' rc '(should be about 0)'
|
|
rc = Log10(2)
|
|
say 'Log10(2) =>' rc '(should be about 0.30103)'
|
|
rc = Sqrt(2)
|
|
say 'Sqrt(2) =>' rc '(should be about 1.41421)'
|
|
rc = Pow(3,3)
|
|
say 'Pow(3,3) =>' rc '(should be about 27)'
|
|
|
|
say ''
|
|
say '+++ Hyperbolic functions +++'
|
|
|
|
rc = SinH(2)
|
|
say 'SinH(2) =>' rc '(should be about 3.6268604)'
|
|
rc = ASinH(3.62686)
|
|
say 'ASinH(2) =>' rc '(should be about 2)'
|
|
rc = CosH(2)
|
|
say 'CosH(2) =>' rc '(should be about 3.7621956)'
|
|
rc = ACosH(3.76219)
|
|
say 'ACosH(2) =>' rc '(should be about 2)'
|
|
rc = TanH(2)
|
|
say 'TanH(2) =>' rc '(should be about 0.9640275)'
|
|
rc = ATanH(0.96402)
|
|
say 'ATanH(2) =>' rc '(should be about 2)'
|
|
|
|
say ''
|
|
say '+++ Numerical functions +++'
|
|
|
|
rc = Ceil(2.4)
|
|
say 'Ceil(2.4) =>' rc '(should be 3)'
|
|
rc = Floor(2.4)
|
|
say 'Floor(2.4) =>' rc '(should be 2)'
|
|
rc = Int(2.4)
|
|
say 'Int(2.4) =>' rc '(should be 2)'
|
|
rc = NInt(2.4)
|
|
say 'NInt(2.4) =>' rc '(should be 2)'
|
|
rc = NInt(2.9)
|
|
say 'NInt(2.9) =>' rc '(should be 3)'
|
|
rc = Fact(3)
|
|
say 'Fact(3) =>' rc '(should be 6)'
|
|
|
|
exit
|
|
|
|
/* end */
|
|
|