ports/math/rexx-regmath/files/testrxmath.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

123 lines
3.7 KiB
Rexx

#!/usr/local/bin/regina
/*
* Tests and examples for RxMath
*
* Bob Eager August 2017
*
*/
/* Load the library */
rc = RxFuncAdd('MathLoadFuncs','rxmath','MathLoadFuncs')
say 'MathLoadFuncs =>' rc
call MathLoadFuncs
say ''
say '+++ Pi +++'
rc = RxCalcPi()
say 'RxCalcPi =>' rc
say ''
say '+++ Trig functions using degrees +++'
rc = RxCalcSin(30)
say "RxCalcSin(30) =>" rc '(should be about 0.5)'
rc = RxCalcSin(30,'d')
say "RxCalcSin(30,'d' =>" rc '(should be about 0.5)'
rc = RxCalcSin(30,,6)
say "RxCalcSin(30,,6) =>" rc '(should be about 0.5)'
rc = RxCalcSin(30,'d',6)
say "RxCalcSin(30,'d',6) =>" rc '(should be about 0.5)'
rc = RxCalcArcSin(0.5,'d',6)
say "RxCalcArcSin(0.5,'d',6) =>" rc '(should be about 30)'
rc = RxCalcCos(30,'d',6)
say "RxCalcCos(30,'d',6) =>" rc '(should be about 0.866025)'
rc = RxCalcArcCos(0.866025,'d',6)
say "RxCalcArcCos(0.866025,'d',6) =>" rc '(should be about 30)'
rc = RxCalcTan(45,'d',6)
say "RxCalcTan(45,'d',6) =>" rc '(should be about 1)'
rc = RxCalcArcTan(1,'d',6)
say "RxCalcArcTan(1,'d',6) =>" rc '(should be about 45)'
rc = RxCalcCotan(30,'d',6)
say "RxCalcCoTan(30,'d',6) =>" rc '(should be about 1.73205)'
say ''
say '+++ Trig functions using radians +++'
pi = RxCalcPi()
rad30 = 30*(pi/180)
rad45 = 45*(pi/180)
rc = RxCalcSin(rad30,'r',6)
say "RxCalcSin(rad30,'r',6) =>" rc '(should be about 0.5)'
rc = RxCalcArcSin(0.5,'r',6)
say "RxCalcArcSin(0.5,'r',6) =>" rc '(should be about' format(rad30,1,6)')'
rc = RxCalcCos(rad30,'r',6)
say "RxCalcCos(rad30,'r',6) =>" rc '(should be about 0.866025)'
rc = RxCalcArcCos(0.866025,'r',6)
say "RxCalcArcCos(0.866025,'r',6) =>" rc '(should be about' format(rad30,1,6)')'
rc = RxCalcTan(rad45,'r',6)
say "RxCalcTan(rad45,'r',6) =>" rc '(should be about 1)'
rc = RxCalcArcTan(1,'r',6)
say "RxCalcArcTan(1,'r',6) =>" rc '(should be about' format(rad45,1,6)')'
rc = RxCalcCoTan(rad30,'r',6)
say "RxCalcCoTan(rad30,'r',6) =>" rc '(should be about 1.73205)'
say ''
say '+++ Trig functions using gradians +++'
pi = RxCalcPi()
grad30 = 30*(400/360)
grad45 = 45*(400/360)
rc = RxCalcSin(grad30,'g',6)
say "RxCalcSin(grad30,'g',6) =>" rc '(should be about 0.5)'
rc = RxCalcArcSin(0.5,'g',6)
say "RxCalcArcSin(0.5,'g',6) =>" rc '(should be about' format(grad30,2,6)')'
rc = RxCalcCos(grad30,'g',6)
say "RxCalcCos(grad30,'g',6) =>" rc '(should be about 0.866025)'
rc = RxCalcArcCos(0.866025,'g',6)
say "RxCalcArcCos(0.866025,'g',6) =>" rc '(should be about' format(grad30,2,6)')'
rc = RxCalcTan(grad45,'g',6)
say "RxCalcTan(grad45,'g',6) =>" rc '(should be about 1)'
rc = RxCalcArcTan(1,'g',6)
say "RxCalcArcTan(1,'g',6) =>" rc '(should be about' format(grad45,2,6)')'
rc = RxCalcCotan(grad30,'g',6)
say "RxCalcCoTan(grad30,'g',6) =>" rc '(should be about 1.73205)'
say ''
say '+++ Exponential functions +++'
rc = RxCalcExp(0)
say 'RxCalcExp(0) =>' rc '(should be about 1)'
rc = RxCalcExp(0,6)
say 'RxCalcExp(0,6) =>' rc '(should be about 1)'
rc = RxCalcExp(1,6)
say 'RxCalcExp(1,6) =>' rc '(should be about 2.71828)'
rc = RxCalcLog(1,6)
say 'RxCalcLog(1,6) =>' rc '(should be about 0)'
rc = RxCalcLog10(2,6)
say 'RxCalcLog10(2,6) =>' rc '(should be about 0.30103)'
rc = RxCalcSqrt(2,6)
say 'RxCalcSqrt(2,6) =>' rc '(should be about 1.41421)'
rc = RxCalcPower(3,3)
say 'RxCalcPower(3,3) =>' rc '(should be about 27)'
rc = RxCalcPower(3,3,6)
say 'RxCalcPower(3,3,6) =>' rc '(should be about 27)'
say ''
say '+++ Hyperbolic functions +++'
rc = RxCalcSinH(2)
say 'RxCalcSinH(2) =>' rc '(should be about 3.6268604)'
rc = RxCalcSinH(2,6)
say 'RxCalcSinH(2,6) =>' rc '(should be about 3.6268604)'
rc = RxCalcCosH(2,6)
say 'RxCalcCosH(2,6) =>' rc '(should be about 3.7621956)'
rc = RxCalcTanH(2,6)
say 'RxCalcTanH(2,6) =>' rc '(should be about 0.9640275)'
exit
/* end */