Prechádzať zdrojové kódy

* adjust test so that it tests all three floating point types

git-svn-id: trunk@39134 -
svenbarth 7 rokov pred
rodič
commit
ee2c573deb
1 zmenil súbory, kde vykonal 104 pridanie a 10 odobranie
  1. 104 10
      tests/test/units/math/tnaninf.pp

+ 104 - 10
tests/test/units/math/tnaninf.pp

@@ -1,30 +1,124 @@
 uses
   Math;
 
+procedure DoTestSingle;
+var
+  val: Single;
 begin
-  if not(isnan(nan)) then
+  val := nan;
+  if not(isnan(val)) then
     begin
-      writeln('error 1');
+      writeln('error single 1');
       halt(1);
     end;
-  if not(isinfinite(infinity)) then
+  val := infinity;
+  if not(isinfinite(val)) then
     begin
-      writeln('error 2');
+      writeln('error single 2');
       halt(1);
     end;
-  if isnan(12341234) then
+  val := 12341234;
+  if isnan(val) then
     begin
-      writeln('error 3');
+      writeln('error single 3');
       halt(1);
     end;
-  if isinfinite(0) then
+  val := 0;
+  if isinfinite(val) then
     begin
-      writeln('error 4');
+      writeln('error single 4');
       halt(1);
     end;
-  if isinfinite(12341234) then
+  val := 12341234;
+  if isinfinite(val) then
     begin
-      writeln('error 5');
+      writeln('error single 5');
       halt(1);
     end;
+end;
+
+{$ifdef FPC_HAS_TYPE_DOUBLE}
+procedure DoTestDouble;
+var
+  val: Double;
+begin
+  val := nan;
+  if not(isnan(val)) then
+    begin
+      writeln('error double 1');
+      halt(1);
+    end;
+  val := infinity;
+  if not(isinfinite(val)) then
+    begin
+      writeln('error double 2');
+      halt(1);
+    end;
+  val := 12341234;
+  if isnan(val) then
+    begin
+      writeln('error double 3');
+      halt(1);
+    end;
+  val := 0;
+  if isinfinite(val) then
+    begin
+      writeln('error double 4');
+      halt(1);
+    end;
+  val := 12341234;
+  if isinfinite(val) then
+    begin
+      writeln('error double 5');
+      halt(1);
+    end;
+end;
+{$endif}
+
+{$ifdef FPC_HAS_TYPE_EXTENDED}
+procedure DoTestExtended;
+var
+  val: Extended;
+begin
+  val := nan;
+  if not(isnan(val)) then
+    begin
+      writeln('error extended 1');
+      halt(1);
+    end;
+  val := infinity;
+  if not(isinfinite(val)) then
+    begin
+      writeln('error extended 2');
+      halt(1);
+    end;
+  val := 12341234;
+  if isnan(val) then
+    begin
+      writeln('error extended 3');
+      halt(1);
+    end;
+  val := 0;
+  if isinfinite(val) then
+    begin
+      writeln('error extended 4');
+      halt(1);
+    end;
+  val := 12341234;
+  if isinfinite(val) then
+    begin
+      writeln('error extended 5');
+      halt(1);
+    end;
+end;
+{$endif}
+
+begin
+  DoTestSingle;
+{$ifdef FPC_HAS_TYPE_DOUBLE}
+  DoTestDouble;
+{$endif}
+{$ifdef FPC_HAS_TYPE_EXTENDED}
+  DoTestExtended;
+{$endif}
 end.