tfpu2.pp 556 B

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