123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- %. MATHLIB.TST
- % A simple set of tests for MAthLIB
- LOAD MATHLIB$
- Global '(EPS);
- EPS:=1.0/(1.0E6);
- Fexpr procedure TS L$ % (Function,Arg,Expected Value)
- Begin scalar Fn,Arg,Val,x,y;
- Fn:=car L$
- Arg:=EVAL cadr L$
- Val:=EVAL Caddr L$
- x:=Apply(fn, list arg)$
- PrintF(" %r(%p) = %p, expect %p%n",Fn,arg,x,val)$
- y:=abs(x-val);
- if y>=EPS then PrintF(" ***** %p exceeds EPS%n",y);
- End$
- TS(Ceiling,3,3);
- TS(Ceiling,3.1,4);
- TS(Ceiling,3.7,4);
- TS(Ceiling,-3,-3);
- TS(Ceiling,-3.5,-2);
- TS(Round,3,3);
- TS(Round,3.1,3);
- TS(Round,3.5,4);
- TS(Round,3.7,4);
- TS(Round,-3,-3);
- TS(Round,-3.4,-2);
- TS(Round,-3.7,-3);
- TwoPI := 6.2831853;
- PI:=TwoPI/2;
- PI2:=PI/2;
- PI4:=PI/4;
- PI8:=PI/8;
- Root2:=1.4142136;
- Root2**2 - 2.0;
- TS(sin, 0.0, 0.0)$
- TS(cos, 0.0, 1.0)$
- TS(sin, PI4, Root2/2)$
- TS(cos, PI4, Root2/2)$
- TS(sin, PI2, 1.0)$
- TS(cos, PI2, 0.0)$
- TS(sin, 3*PI4, Root2/2)$
- TS(cos, 3*PI4, -Root2/2)$
- TS(sin, PI, 0.0)$
- TS(cos, PI, -1.0)$
- procedure SC2 x;
- sin(x)**2+cos(x)**2;
- TS(SC2,0.0,1)$
- TS(SC2,0.25,1)$
- TS(SC2,0.5,1)$
- TS(SC2,0.75,1)$
- TS(SC2,1.0,1)$
- TS(SC2,1.25,1)$
- TS(SC2,1.5,1)$
- TS(SC2,1.75,1)$
- TS(SC2,2.0,1)$
- TS(SC2,2.25,1)$
- TS(SC2,2.5,1)$
- TS(SC2,2.75,1)$
- TS(SC2,3.0,1)$
- TS(TAN,0.0,0.0)$
- TS(TAN,PI8,SIN(PI8)/COS(PI8))$
- TS(TAN,PI4,1.0)$
- TS(COT,PI8,COS(pi8)/SIN(pi8))$
- TS(COT,PI4,1.0)$
- TS(SIND,30.0,0.5)$
- TS(ASIND,0.5,30.0)$
- TS(SQRT,2.0,Root2)$
- TS(SQRT,9.0,3.0)$
- TS(SQRT,100.0,10.0)$
- NaturalE:=2.718281828$
- TS(EXP,1.0,NaturalE)$
- TS(LOG,SQRT(NaturalE),0.5)$
- TS(LOG,NaturalE,1.0)$
- TS(LOG,NaturalE**2,2.0)$
- TS(LOG,1.0/NaturalE**2, -2.0)$
- TS(LOG2,Root2,0.5)$
- TS(LOG2,2.0,1.0)$
- TS(LOG2,4.0,2.0)$
- TS(LOG2,0.5, -1.0)$
- TS(LOG10,SQRT(10.0),0.5)$
- TS(LOG10,10.0,1.0)$
- TS(LOG10,100.0,2.0)$
- TS(LOG10, 1.0E30, 30.0)$
- TS(LOG10, 1.0E-30, -30.0)$
- End$
|