File: tfpu2.pp

package info (click to toggle)
fpc 2.6.4%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 178,760 kB
  • ctags: 83,946
  • sloc: pascal: 2,000,374; xml: 138,807; ansic: 9,617; asm: 7,843; yacc: 3,747; php: 3,271; sh: 2,626; makefile: 2,610; lex: 2,537; sql: 267; cpp: 145; sed: 132; perl: 126; csh: 34; tcl: 7
file content (32 lines) | stat: -rw-r--r-- 579 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{ %skiptarget=go32v2 }
{ %version=1.1 }

{$ifdef fpc}{$mode objfpc}{$endif}
program test_fpu_excpetions;

uses
  SysUtils;

  function mysqrt(x : real) : real;

    begin
      try
        mysqrt:=sqrt(x);
      except
        on e : exception do
          mysqrt:=0;
      end;
    end;

  var
    x, y,z : real;

begin
  x:=6.5;
  y:=5.76;
  z:=3.1;
  Writeln('Testing mysqrt (x) = sqrt(x) if x >= 0');
  Writeln('                   = 0       if x <  0');
  Writeln(' 6.5+5.76*mysqrt(3.1) = ',x+y*mysqrt(z):0:6);
  Writeln(' 6.5+5.76*mysqrt(-3.1) = ',x+y*mysqrt(-z):0:6);
end.