tfpu2.pp 579 B

1234567891011121314151617181920212223242526272829303132
  1. { %skiptarget=go32v2 }
  2. { %version=1.1 }
  3. {$ifdef fpc}{$mode objfpc}{$endif}
  4. program test_fpu_excpetions;
  5. uses
  6. SysUtils;
  7. function mysqrt(x : real) : real;
  8. begin
  9. try
  10. mysqrt:=sqrt(x);
  11. except
  12. on e : exception do
  13. mysqrt:=0;
  14. end;
  15. end;
  16. var
  17. x, y,z : real;
  18. begin
  19. x:=6.5;
  20. y:=5.76;
  21. z:=3.1;
  22. Writeln('Testing mysqrt (x) = sqrt(x) if x >= 0');
  23. Writeln(' = 0 if x < 0');
  24. Writeln(' 6.5+5.76*mysqrt(3.1) = ',x+y*mysqrt(z):0:6);
  25. Writeln(' 6.5+5.76*mysqrt(-3.1) = ',x+y*mysqrt(-z):0:6);
  26. end.