mirror of
https://git.freebsd.org/ports.git
synced 2025-04-29 10:06:40 -04:00
regmath contains two different implementations of math libraries for the REXX language. PR: 221573 Submitted by: bob@eager.cx
123 lines
3.7 KiB
Rexx
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 */
|
|
|