1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- program ttrig;
- {$modeswitch exceptions}
- uses
- jdk15;
- {$macro on}
- {$define writeln:=JLSystem.fout.println}
- procedure do_error(i : longint);
- begin
- // writeln('Error near ',i);
- raise JLException.create('Error near '+UnicodeString(JLInteger.valueOf(i).toString));
- end;
- var
- s0,s1,s2 : single;
- begin
- writeln('--- Testing single functions ---');
- // 0.0
- s0:=0.0;
- s1:=sin(s0);
- if s1<>0.0 then
- do_error(1);
- s1:=cos(s0);
- if s1<>1.0 then
- do_error(2);
- s1:=arctan(s0);
- if s1<>0.0 then
- do_error(3);
- // pi/2
- s2:=pi/2;
- s1:=sin(s2);
- if s1<>1.0 then
- do_error(100);
- s1:=cos(s2);
- { with single precision, the result is -4.371138829E-08 }
- if abs(s1-0.0)>4.371138829E-08 then
- do_error(101);
- end.
|