2
0

tfpu2.pp 517 B

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