ports/math/rexx-regmath/files/testrexxmath.in
Larry Rosenman f38c70f179 New port: math/rexx-regmath
regmath contains two different implementations of math libraries for the REXX language.

PR:		221573
Submitted by:	bob@eager.cx
2017-10-13 00:37:31 +00:00

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 */