Regression test driver now can read different expected output files
authorRoland Lezuo <rlezuo@complang.tuwien.ac.at>
Thu, 27 Oct 2011 15:32:45 +0000 (17:32 +0200)
committerRoland Lezuo <rlezuo@complang.tuwien.ac.at>
Thu, 27 Oct 2011 15:32:45 +0000 (17:32 +0200)
depending on classlibrary used (classpath vs. openjdk).

Provided expected results for openjdk builds (to be discussed).

Small fix in extest.java preventing an NegativeArrayIndexException to be thrown.

--HG--
rename : tests/regression/extest.2output => tests/regression/extest.2output.cp
rename : tests/regression/fp.output => tests/regression/fp.output.cp
rename : tests/regression/fptest.output => tests/regression/fptest.output.cp

12 files changed:
tests/regression/Test.sh
tests/regression/extest.2output [deleted file]
tests/regression/extest.2output.cp [new file with mode: 0644]
tests/regression/extest.2output.ojdk [new file with mode: 0644]
tests/regression/extest.java
tests/regression/fp.output [deleted file]
tests/regression/fp.output.cp [new file with mode: 0644]
tests/regression/fp.output.ojdk [new file with mode: 0644]
tests/regression/fptest.output [deleted file]
tests/regression/fptest.output.cp [new file with mode: 0644]
tests/regression/fptest.output.ojdk [new file with mode: 0644]
tests/regression/native/Makefile.am

index 7438eba8466abf5ee392c81882de3180e5f9d748..bb42e65fdb73a5f1594e1459f1d3827b06430b1a 100644 (file)
@@ -4,44 +4,77 @@ JAVA=$1
 TEST=$2
 SRCDIR=$3
 
+#
+# test which classlibrary was used
+# depending on whether classpath or openjdk class library was used we may expect different results from the tests, this may e.g.
+# by simple things like intentation when printing stack traces or even more subtile stuff ...
+#
+$JAVA -XX:+PrintConfig 2>&1 | grep gnu.classpath.boot.library.path: > /dev/null
+if [ $? -eq "0" ]; then
+IS_CLASSPATH=1
+POSTFIX="cp"
+fi
+$JAVA -XX:+PrintConfig 2>&1 | grep sun.boot.library.path  > /dev/null
+if [ $? -eq "0" ]; then
+IS_OPENJDK=1
+POSTFIX="ojdk"
+fi
+
+if [ -z $POSTFIX ]; then
+echo "Warning: Could not detect classlibrary the java VM uses, assuming openJDK"
+POSTFIX="ojdk"
+fi
+
+# mostly classpath and openjdk deliver same results
+REFERENCE_OUTPUT=$SRCDIR/$TEST.output
+REFERENCE_2OUTPUT=$SRCDIR/$TEST.2output
+
+# if they do not exist, we try the postfixed versions
+if [ ! -f $REFERENCE_OUTPUT ]; then
+REFERENCE_OUTPUT=$SRCDIR/$TEST.output.$POSTFIX
+fi
+if [ ! -f $REFERENCE_2OUTPUT ]; then
+REFERENCE_2OUTPUT=$SRCDIR/$TEST.2output.$POSTFIX
+fi
+
 echo -n "$TEST: "
 
 $JAVA $TEST > $TEST.thisoutput 2>&1
 
 if [ $? -eq "0" ]; then
     # no Error returned
-    if [ -f $SRCDIR/$TEST.2output ]; then
+    if [ -f $REFERENCE_2OUTPUT ]; then
         # Error should have been returned
         echo "OK, but wrong return value: $?"
         head $TEST.thisoutput
         exit
     fi
        
-    cmp -s $SRCDIR/$TEST.output $TEST.thisoutput
+    cmp -s $REFERENCE_OUTPUT $TEST.thisoutput
 
     if [ $? -eq "0" ]; then
         echo "OK"
     else
         echo "FAILED"
-        diff -u $SRCDIR/$TEST.output $TEST.thisoutput
+        diff -u $REFERENCE_OUTPUT $TEST.thisoutput
     fi
 
 else
     # Error returned
-    if [ ! -f $SRCDIR/$TEST.2output ]; then
+    if [ ! -f $REFERENCE_2OUTPUT ]; then
         # No Error should have been returned
         echo "FAILED, but wrong return value: $?"
         head $TEST.this2output
         exit
     fi
 
-    cmp -s $SRCDIR/$TEST.2output $TEST.thisoutput
+    cmp -s $REFERENCE_2OUTPUT $TEST.thisoutput
 
     if [ $? -eq "0" ]; then
         echo "OK"
     else
         echo "FAILED"
-        diff -u $SRCDIR/$TEST.2output $TEST.thisoutput
+        diff -u $REFERENCE_2OUTPUT $TEST.thisoutput
     fi
 fi             
 
diff --git a/tests/regression/extest.2output b/tests/regression/extest.2output
deleted file mode 100644 (file)
index 642d790..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-normal exceptions-----------------------------------------
-
-throw new Exception():                                 OK
-java.lang.Exception
-   at extest.main(extest.java:26)
-
-throw new Exception() (from subroutines):              OK
-java.lang.Exception
-   at extest.sub4(extest.java:299)
-   at extest.sub3(extest.java:295)
-   at extest.sub2(extest.java:291)
-   at extest.sub(extest.java:287)
-   at extest.main(extest.java:40)
-
-NullPointerException:                                  OK
-java.lang.NullPointerException
-   at extest.main(extest.java:50)
-
-
-exceptions thrown in JIT code-----------------------------
-
-ArithmeticException (only w/ -softnull):               OK
-java.lang.ArithmeticException: / by zero
-   at extest.main(extest.java:64)
-
-ArrayIndexOutOfBoundsException:                        OK
-java.lang.ArrayIndexOutOfBoundsException: -889275714
-   at extest.main(extest.java:81)
-
-ArrayStoreException:                                   OK
-java.lang.ArrayStoreException
-   at extest.main(extest.java:99)
-
-ClassCastException:                                    OK
-java.lang.ClassCastException: java/lang/Object
-   at extest.main(extest.java:109)
-
-NegativeArraySizeException (newarray):                 OK
-java.lang.NegativeArraySizeException
-   at extest.main(extest.java:118)
-
-NegativeArraySizeException (multianewarray):           OK
-java.lang.NegativeArraySizeException
-   at extest.main(extest.java:127)
-
-OutOfMemoryError:                                      OK
-java.lang.OutOfMemoryError
-   at extest.main(extest.java:137)
-
-OutOfMemoryError (multianewarray):                     OK
-java.lang.OutOfMemoryError
-   at extest.main(extest.java:146)
-
-
-exceptions in leaf functions------------------------------
-
-ArithmeticException:                                   OK
-java.lang.ArithmeticException: / by zero
-   at extest.aesub(extest.java:303)
-   at extest.main(extest.java:160)
-
-ArrayIndexOutOfBoundsException:                        OK
-java.lang.ArrayIndexOutOfBoundsException: -559038737
-   at extest.aioobesub(extest.java:307)
-   at extest.main(extest.java:169)
-
-ClassCastException:                                    OK
-java.lang.ClassCastException: java/lang/Object
-   at extest.ccesub(extest.java:311)
-   at extest.main(extest.java:186)
-
-NullPointerException:                                  OK
-java.lang.NullPointerException
-   at extest.npesub(extest.java:315)
-   at extest.main(extest.java:195)
-
-Exception in <clinit> triggered from a leaf method:    OK
-java.lang.ExceptionInInitializerError
-   at extest.main(extest.java:204)
-Caused by: java.lang.NullPointerException
-   at extest_clinit_patcher.<clinit>(extest.java:374)
-   at extest.main(extest.java:204)
-
-
-exception related things----------------------------------
-
-load/link an exception class in asmpart:               OK
-java.lang.Exception
-   at extest.main(extest.java:218)
-
-
-native stub exceptions------------------------------------
-
-NullPointerException in <clinit>:                      OK
-java.lang.ExceptionInInitializerError
-   at extest.main(extest.java:234)
-Caused by: java.lang.NullPointerException
-   at extest_clinit.<clinit>(extest.java:363)
-   at extest.main(extest.java:234)
-
-UnsatisfiedLinkError:                                  OK
-java.lang.UnsatisfiedLinkError: nsub
-   at extest.main(extest.java:243)
-
-NullPointerException (native):                         OK
-java.lang.NullPointerException
-   at java.lang.System.arraycopy(System.java:297)
-   at extest.main(extest.java:252)
-
-
-special exceptions----------------------------------------
-
-OutOfMemoryError (array clone):                        OK
-java.lang.OutOfMemoryError
-   at [B.clone(Native Method)
-   at extest.main(extest.java:268)
-
-
-exception thrown to command-line--------------------------
-
-NullPointerException (without catch):
-Exception in thread "main" java.lang.NullPointerException
-   at extest.main(extest.java:282)
diff --git a/tests/regression/extest.2output.cp b/tests/regression/extest.2output.cp
new file mode 100644 (file)
index 0000000..642d790
--- /dev/null
@@ -0,0 +1,123 @@
+normal exceptions-----------------------------------------
+
+throw new Exception():                                 OK
+java.lang.Exception
+   at extest.main(extest.java:26)
+
+throw new Exception() (from subroutines):              OK
+java.lang.Exception
+   at extest.sub4(extest.java:299)
+   at extest.sub3(extest.java:295)
+   at extest.sub2(extest.java:291)
+   at extest.sub(extest.java:287)
+   at extest.main(extest.java:40)
+
+NullPointerException:                                  OK
+java.lang.NullPointerException
+   at extest.main(extest.java:50)
+
+
+exceptions thrown in JIT code-----------------------------
+
+ArithmeticException (only w/ -softnull):               OK
+java.lang.ArithmeticException: / by zero
+   at extest.main(extest.java:64)
+
+ArrayIndexOutOfBoundsException:                        OK
+java.lang.ArrayIndexOutOfBoundsException: -889275714
+   at extest.main(extest.java:81)
+
+ArrayStoreException:                                   OK
+java.lang.ArrayStoreException
+   at extest.main(extest.java:99)
+
+ClassCastException:                                    OK
+java.lang.ClassCastException: java/lang/Object
+   at extest.main(extest.java:109)
+
+NegativeArraySizeException (newarray):                 OK
+java.lang.NegativeArraySizeException
+   at extest.main(extest.java:118)
+
+NegativeArraySizeException (multianewarray):           OK
+java.lang.NegativeArraySizeException
+   at extest.main(extest.java:127)
+
+OutOfMemoryError:                                      OK
+java.lang.OutOfMemoryError
+   at extest.main(extest.java:137)
+
+OutOfMemoryError (multianewarray):                     OK
+java.lang.OutOfMemoryError
+   at extest.main(extest.java:146)
+
+
+exceptions in leaf functions------------------------------
+
+ArithmeticException:                                   OK
+java.lang.ArithmeticException: / by zero
+   at extest.aesub(extest.java:303)
+   at extest.main(extest.java:160)
+
+ArrayIndexOutOfBoundsException:                        OK
+java.lang.ArrayIndexOutOfBoundsException: -559038737
+   at extest.aioobesub(extest.java:307)
+   at extest.main(extest.java:169)
+
+ClassCastException:                                    OK
+java.lang.ClassCastException: java/lang/Object
+   at extest.ccesub(extest.java:311)
+   at extest.main(extest.java:186)
+
+NullPointerException:                                  OK
+java.lang.NullPointerException
+   at extest.npesub(extest.java:315)
+   at extest.main(extest.java:195)
+
+Exception in <clinit> triggered from a leaf method:    OK
+java.lang.ExceptionInInitializerError
+   at extest.main(extest.java:204)
+Caused by: java.lang.NullPointerException
+   at extest_clinit_patcher.<clinit>(extest.java:374)
+   at extest.main(extest.java:204)
+
+
+exception related things----------------------------------
+
+load/link an exception class in asmpart:               OK
+java.lang.Exception
+   at extest.main(extest.java:218)
+
+
+native stub exceptions------------------------------------
+
+NullPointerException in <clinit>:                      OK
+java.lang.ExceptionInInitializerError
+   at extest.main(extest.java:234)
+Caused by: java.lang.NullPointerException
+   at extest_clinit.<clinit>(extest.java:363)
+   at extest.main(extest.java:234)
+
+UnsatisfiedLinkError:                                  OK
+java.lang.UnsatisfiedLinkError: nsub
+   at extest.main(extest.java:243)
+
+NullPointerException (native):                         OK
+java.lang.NullPointerException
+   at java.lang.System.arraycopy(System.java:297)
+   at extest.main(extest.java:252)
+
+
+special exceptions----------------------------------------
+
+OutOfMemoryError (array clone):                        OK
+java.lang.OutOfMemoryError
+   at [B.clone(Native Method)
+   at extest.main(extest.java:268)
+
+
+exception thrown to command-line--------------------------
+
+NullPointerException (without catch):
+Exception in thread "main" java.lang.NullPointerException
+   at extest.main(extest.java:282)
diff --git a/tests/regression/extest.2output.ojdk b/tests/regression/extest.2output.ojdk
new file mode 100644 (file)
index 0000000..9a7019b
--- /dev/null
@@ -0,0 +1,124 @@
+normal exceptions-----------------------------------------
+
+throw new Exception():                                 OK
+java.lang.Exception
+       at extest.main(extest.java:26)
+
+throw new Exception() (from subroutines):              OK
+java.lang.Exception
+       at extest.sub4(extest.java:299)
+       at extest.sub3(extest.java:295)
+       at extest.sub2(extest.java:291)
+       at extest.sub(extest.java:287)
+       at extest.main(extest.java:40)
+
+NullPointerException:                                  OK
+java.lang.NullPointerException
+       at extest.main(extest.java:50)
+
+
+exceptions thrown in JIT code-----------------------------
+
+ArithmeticException (only w/ -softnull):               OK
+java.lang.ArithmeticException: / by zero
+       at extest.main(extest.java:64)
+
+ArrayIndexOutOfBoundsException:                        OK
+java.lang.ArrayIndexOutOfBoundsException: -889275714
+       at extest.main(extest.java:81)
+
+ArrayStoreException:                                   OK
+java.lang.ArrayStoreException: java.lang.Object
+       at extest.main(extest.java:99)
+
+ClassCastException:                                    OK
+java.lang.ClassCastException: java.lang.Object cannot be cast to java.lang.Integer
+       at extest.main(extest.java:109)
+
+NegativeArraySizeException (newarray):                 OK
+java.lang.NegativeArraySizeException
+       at extest.main(extest.java:118)
+
+NegativeArraySizeException (multianewarray):           OK
+java.lang.NegativeArraySizeException
+       at extest.main(extest.java:127)
+
+OutOfMemoryError:                                      OK
+java.lang.OutOfMemoryError: Java heap space
+       at extest.main(extest.java:137)
+
+OutOfMemoryError (multianewarray):                     OK
+java.lang.OutOfMemoryError: Java heap space
+       at extest.main(extest.java:146)
+
+
+exceptions in leaf functions------------------------------
+
+ArithmeticException:                                   OK
+java.lang.ArithmeticException: / by zero
+       at extest.aesub(extest.java:303)
+       at extest.main(extest.java:160)
+
+ArrayIndexOutOfBoundsException:                        OK
+java.lang.ArrayIndexOutOfBoundsException: -559038737
+       at extest.aioobesub(extest.java:307)
+       at extest.main(extest.java:169)
+
+ClassCastException:                                    OK
+java.lang.ClassCastException: java.lang.Object cannot be cast to java.lang.Integer
+       at extest.ccesub(extest.java:311)
+       at extest.main(extest.java:186)
+
+NullPointerException:                                  OK
+java.lang.NullPointerException
+       at extest.npesub(extest.java:315)
+       at extest.main(extest.java:195)
+
+Exception in <clinit> triggered from a leaf method:    OK
+java.lang.ExceptionInInitializerError
+       at extest.main(extest.java:204)
+Caused by: java.lang.NullPointerException
+       at extest_clinit_patcher.<clinit>(extest.java:374)
+       ... 1 more
+
+
+exception related things----------------------------------
+
+load/link an exception class in asmpart:               OK
+java.lang.Exception
+       at extest.main(extest.java:218)
+
+
+native stub exceptions------------------------------------
+
+NullPointerException in <clinit>:                      OK
+java.lang.ExceptionInInitializerError
+       at extest.main(extest.java:234)
+Caused by: java.lang.NullPointerException
+       at extest_clinit.<clinit>(extest.java:363)
+       ... 1 more
+
+UnsatisfiedLinkError:                                  OK
+java.lang.UnsatisfiedLinkError: extest.nsub()V
+       at extest.nsub(Native Method)
+       at extest.main(extest.java:243)
+
+NullPointerException (native):                         OK
+java.lang.NullPointerException
+       at java.lang.System.arraycopy(Native Method)
+       at extest.main(extest.java:252)
+
+
+special exceptions----------------------------------------
+
+OutOfMemoryError (array clone):                        OK
+java.lang.OutOfMemoryError: Java heap space
+       at java.lang.Object.clone(Native Method)
+       at extest.main(extest.java:268)
+
+
+exception thrown to command-line--------------------------
+
+NullPointerException (without catch):
+Exception in thread "main" java.lang.NullPointerException
+       at extest.main(extest.java:282)
index 4a91243b98dbeed4f7a3c65737cd07cb1a08c894..7408c8ee1c657c925558b7e8acd9dc5d7e975756 100644 (file)
@@ -133,8 +133,8 @@ public class extest {
 
         try {
             p("OutOfMemoryError:");
-           /* use twice the heap size */
-           byte[] ba = new byte[maxmem * 2];
+           /* maxmem + 1 should be enough and hopefully not overflow the int so it becomes negative */
+           byte[] ba = new byte[maxmem];
             failed();
         } catch (OutOfMemoryError e) {
            ok();
diff --git a/tests/regression/fp.output b/tests/regression/fp.output
deleted file mode 100644 (file)
index a186baf..0000000
+++ /dev/null
@@ -1,1116 +0,0 @@
--------------------- testfloat --------------------
----------- test fmul ----------
-100.0
-1000.0
-10000.0
-100000.0
-1000000.0
-1.0E7
-1.0E8
-1.0E9
-1.0E10
-1.0E11
-1.0E12
-1.0E13
-1.0E14
-1.0E15
-1.0E16
-1.0E17
-1.0E18
-1.0E19
-1.0E20
-1.0E21
-1.0E22
-1.0E23
-1.0E24
-1.0000001E25
-1.0E26
-1.00000006E27
-1.0000001E28
-1.0E29
-1.0E30
-1.0E31
-1.0E32
-1.0000001E33
-1.00000004E34
-1.0E35
-1.00000004E36
-1.00000006E37
-1.0000001E38
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
----------- test fdiv ----------
-1.0
-0.1
-0.01
-9.999999E-4
-9.999999E-5
-9.999999E-6
-9.999999E-7
-9.999999E-8
-9.999999E-9
-9.999999E-10
-9.999999E-11
-9.999999E-12
-9.999999E-13
-9.999999E-14
-9.999999E-15
-9.999999E-16
-9.999999E-17
-9.999999E-18
-9.999999E-19
-1.0E-19
-1.0E-20
-1.0E-21
-9.9999997E-23
-1.0E-23
-1.0E-24
-1.0E-25
-1.0E-26
-1.0E-27
-1.0E-28
-1.0E-29
-1.0E-30
-1.0E-31
-9.9999995E-33
-9.999999E-34
-9.999999E-35
-9.9999995E-36
-9.9999995E-37
-1.0E-37
-1.0E-38
-1.0E-39
-1.0E-40
-1.0E-41
-1.0E-42
-9.9E-44
-9.8E-45
-1.4E-45
-0.0
-0.0
-0.0
-0.0
------------
-0.0
-0.0
-0.0
-0.0
-0.0
-NaN
------------
-0.0
-0.2
-0.2
--0.2
-0.0
-0.0
------------
-0.0
-0.4
-0.4
--0.4
-0.0
-0.0
------------
-0.0
-0.6
-0.6
--0.6
-0.0
-0.0
------------
-0.0
-0.8
-0.8
--0.8
-0.0
-0.0
------------
-0.2
-0.0
-0.2
-0.2
-0.0
-Infinity
------------
-0.2
-0.2
-0.4
-0.0
-0.040000003
-1.0
------------
-0.2
-0.4
-0.6
--0.2
-0.080000006
-0.5
------------
-0.2
-0.6
-0.8
--0.40000004
-0.120000005
-0.3333333
------------
-0.2
-0.8
-1.0
--0.6
-0.16000001
-0.25
------------
-0.4
-0.0
-0.4
-0.4
-0.0
-Infinity
------------
-0.4
-0.2
-0.6
-0.2
-0.080000006
-2.0
------------
-0.4
-0.4
-0.8
-0.0
-0.16000001
-1.0
------------
-0.4
-0.6
-1.0
--0.20000002
-0.24000001
-0.6666666
------------
-0.4
-0.8
-1.2
--0.4
-0.32000002
-0.5
------------
-0.6
-0.0
-0.6
-0.6
-0.0
-Infinity
------------
-0.6
-0.2
-0.8
-0.40000004
-0.120000005
-3.0
------------
-0.6
-0.4
-1.0
-0.20000002
-0.24000001
-1.5
------------
-0.6
-0.6
-1.2
-0.0
-0.36
-1.0
------------
-0.6
-0.8
-1.4000001
--0.19999999
-0.48000002
-0.75
------------
-0.8
-0.0
-0.8
-0.8
-0.0
-Infinity
------------
-0.8
-0.2
-1.0
-0.6
-0.16000001
-4.0
------------
-0.8
-0.4
-1.2
-0.4
-0.32000002
-2.0
------------
-0.8
-0.6
-1.4000001
-0.19999999
-0.48000002
-1.3333333
------------
-0.8
-0.8
-1.6
-0.0
-0.64000005
-1.0
--------------------- testdouble --------------------
----------- test dmul ----------
-100.0
-1000.0
-10000.0
-100000.0
-1000000.0
-1.0E7
-1.0E8
-1.0E9
-1.0E10
-1.0E11
-1.0E12
-1.0E13
-1.0E14
-1.0E15
-1.0E16
-1.0E17
-1.0E18
-1.0E19
-1.0E20
-1.0E21
-1.0E22
-1.0E23
-1.0E24
-9.999999999999999E24
-9.999999999999999E25
-9.999999999999999E26
-1.0E28
-1.0E29
-9.999999999999999E29
-9.999999999999999E30
-9.999999999999999E31
-1.0E33
-1.0E34
-1.0E35
-9.999999999999999E35
-9.999999999999998E36
-9.999999999999998E37
-9.999999999999998E38
-9.999999999999998E39
-9.999999999999998E40
-9.999999999999999E41
-9.999999999999999E42
-9.999999999999999E43
-1.0E45
-1.0E46
-1.0E47
-1.0E48
-1.0000000000000001E49
-1.0E50
-1.0E51
-1.0E52
-1.0E53
-1.0E54
-1.0000000000000001E55
-1.0E56
-1.0E57
-1.0000000000000001E58
-1.0000000000000001E59
-1.0000000000000001E60
-1.0000000000000001E61
-1.0000000000000001E62
-1.0000000000000002E63
-1.0000000000000002E64
-1.0000000000000002E65
-1.0000000000000001E66
-1.0000000000000001E67
-1.0000000000000001E68
-1.0E69
-1.0E70
-1.0E71
-1.0000000000000001E72
-1.0000000000000001E73
-1.0000000000000001E74
-1.0000000000000001E75
-1.0E76
-1.0000000000000001E77
-1.0000000000000002E78
-1.0000000000000001E79
-1.0000000000000001E80
-1.0000000000000001E81
-1.0000000000000001E82
-1.0000000000000002E83
-1.0000000000000003E84
-1.0000000000000004E85
-1.0000000000000003E86
-1.0000000000000004E87
-1.0000000000000005E88
-1.0000000000000004E89
-1.0000000000000004E90
-1.0000000000000004E91
-1.0000000000000005E92
-1.0000000000000005E93
-1.0000000000000006E94
-1.0000000000000006E95
-1.0000000000000006E96
-1.0000000000000006E97
-1.0000000000000006E98
-1.0000000000000006E99
-1.0000000000000006E100
-1.0000000000000006E101
-1.0000000000000006E102
-1.0000000000000006E103
-1.0000000000000006E104
-1.0000000000000007E105
-1.0000000000000007E106
-1.0000000000000006E107
-1.0000000000000006E108
-1.0000000000000006E109
-1.0000000000000007E110
-1.0000000000000006E111
-1.0000000000000006E112
-1.0000000000000005E113
-1.0000000000000006E114
-1.0000000000000005E115
-1.0000000000000005E116
-1.0000000000000005E117
-1.0000000000000005E118
-1.0000000000000005E119
-1.0000000000000006E120
-1.0000000000000006E121
-1.0000000000000006E122
-1.0000000000000006E123
-1.0000000000000005E124
-1.0000000000000005E125
-1.0000000000000005E126
-1.0000000000000006E127
-1.0000000000000005E128
-1.0000000000000005E129
-1.0000000000000004E130
-1.0000000000000005E131
-1.0000000000000005E132
-1.0000000000000005E133
-1.0000000000000005E134
-1.0000000000000004E135
-1.0000000000000004E136
-1.0000000000000004E137
-1.0000000000000004E138
-1.0000000000000004E139
-1.0000000000000005E140
-1.0000000000000005E141
-1.0000000000000005E142
-1.0000000000000005E143
-1.0000000000000005E144
-1.0000000000000005E145
-1.0000000000000006E146
-1.0000000000000007E147
-1.0000000000000006E148
-1.0000000000000006E149
-1.0000000000000005E150
-1.0000000000000005E151
-1.0000000000000005E152
-1.0000000000000006E153
-1.0000000000000005E154
-1.0000000000000005E155
-1.0000000000000006E156
-1.0000000000000006E157
-1.0000000000000006E158
-1.0000000000000005E159
-1.0000000000000005E160
-1.0000000000000005E161
-1.0000000000000005E162
-1.0000000000000006E163
-1.0000000000000005E164
-1.0000000000000005E165
-1.0000000000000004E166
-1.0000000000000004E167
-1.0000000000000004E168
-1.0000000000000004E169
-1.0000000000000004E170
-1.0000000000000004E171
-1.0000000000000004E172
-1.0000000000000004E173
-1.0000000000000005E174
-1.0000000000000005E175
-1.0000000000000004E176
-1.0000000000000005E177
-1.0000000000000004E178
-1.0000000000000004E179
-1.0000000000000005E180
-1.0000000000000005E181
-1.0000000000000005E182
-1.0000000000000005E183
-1.0000000000000006E184
-1.0000000000000006E185
-1.0000000000000006E186
-1.0000000000000005E187
-1.0000000000000005E188
-1.0000000000000005E189
-1.0000000000000005E190
-1.0000000000000005E191
-1.0000000000000005E192
-1.0000000000000005E193
-1.0000000000000004E194
-1.0000000000000004E195
-1.0000000000000004E196
-1.0000000000000003E197
-1.0000000000000003E198
-1.0000000000000003E199
-1.0000000000000003E200
-1.0000000000000003E201
-1.0000000000000003E202
-1.0000000000000003E203
-1.0000000000000004E204
-1.0000000000000004E205
-1.0000000000000004E206
-1.0000000000000003E207
-1.0000000000000003E208
-1.0000000000000003E209
-1.0000000000000002E210
-1.0000000000000002E211
-1.0000000000000003E212
-1.0000000000000003E213
-1.0000000000000003E214
-1.0000000000000003E215
-1.0000000000000003E216
-1.0000000000000003E217
-1.0000000000000003E218
-1.0000000000000003E219
-1.0000000000000002E220
-1.0000000000000002E221
-1.0000000000000002E222
-1.0000000000000002E223
-1.0000000000000002E224
-1.0000000000000001E225
-1.0000000000000001E226
-1.0E227
-1.0000000000000001E228
-1.0000000000000001E229
-1.0E230
-1.0E231
-1.0E232
-1.0E233
-1.0E234
-1.0E235
-1.0E236
-1.0000000000000001E237
-1.0E238
-1.0000000000000001E239
-1.0000000000000002E240
-1.0000000000000002E241
-1.0000000000000002E242
-1.0E243
-1.0E244
-1.0E245
-1.0E246
-1.0000000000000001E247
-1.0000000000000002E248
-1.0000000000000001E249
-1.0000000000000001E250
-1.0E251
-1.0E252
-1.0000000000000001E253
-1.0000000000000001E254
-1.0E255
-1.0E256
-1.0E257
-1.0E258
-1.0000000000000001E259
-1.0E260
-1.0000000000000001E261
-1.0000000000000002E262
-1.0000000000000002E263
-1.0000000000000002E264
-1.0000000000000002E265
-1.0000000000000003E266
-1.0000000000000003E267
-1.0000000000000003E268
-1.0000000000000003E269
-1.0000000000000003E270
-1.0000000000000003E271
-1.0000000000000004E272
-1.0000000000000003E273
-1.0000000000000003E274
-1.0000000000000003E275
-1.0000000000000003E276
-1.0000000000000002E277
-1.0000000000000001E278
-1.0000000000000002E279
-1.0000000000000002E280
-1.0000000000000002E281
-1.0000000000000002E282
-1.0000000000000002E283
-1.0000000000000002E284
-1.0000000000000002E285
-1.0000000000000002E286
-1.0000000000000002E287
-1.0000000000000003E288
-1.0000000000000003E289
-1.0000000000000002E290
-1.0000000000000002E291
-1.0000000000000002E292
-1.0000000000000003E293
-1.0000000000000002E294
-1.0000000000000002E295
-1.0000000000000002E296
-1.0000000000000002E297
-1.0000000000000002E298
-1.0000000000000002E299
-1.0000000000000002E300
-1.0000000000000002E301
-1.0E302
-1.0E303
-1.0E304
-1.0E305
-9.999999999999999E305
-9.999999999999999E306
-9.999999999999998E307
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
----------- test ddiv ----------
-1.0
-0.1
-0.01
-0.001
-1.0E-4
-1.0E-5
-1.0000000000000002E-6
-1.0000000000000002E-7
-1.0000000000000002E-8
-1.0000000000000003E-9
-1.0000000000000003E-10
-1.0000000000000003E-11
-1.0000000000000002E-12
-1.0000000000000002E-13
-1.0000000000000002E-14
-1.0E-15
-1.0000000000000001E-16
-1.0E-17
-1.0E-18
-1.0000000000000001E-19
-1.0000000000000001E-20
-1.0000000000000001E-21
-1.0E-22
-1.0000000000000001E-23
-1.0000000000000001E-24
-1.0000000000000002E-25
-1.0000000000000002E-26
-1.0000000000000002E-27
-1.0000000000000002E-28
-1.0000000000000002E-29
-1.0000000000000003E-30
-1.0000000000000003E-31
-1.0000000000000003E-32
-1.0000000000000004E-33
-1.0000000000000004E-34
-1.0000000000000004E-35
-1.0000000000000004E-36
-1.0000000000000005E-37
-1.0000000000000005E-38
-1.0000000000000004E-39
-1.0000000000000003E-40
-1.0000000000000004E-41
-1.0000000000000004E-42
-1.0000000000000003E-43
-1.0000000000000003E-44
-1.0000000000000003E-45
-1.0000000000000002E-46
-1.0000000000000002E-47
-1.0000000000000003E-48
-1.0000000000000003E-49
-1.0000000000000004E-50
-1.0000000000000003E-51
-1.0000000000000004E-52
-1.0000000000000004E-53
-1.0000000000000003E-54
-1.0000000000000004E-55
-1.0000000000000004E-56
-1.0000000000000004E-57
-1.0000000000000004E-58
-1.0000000000000005E-59
-1.0000000000000005E-60
-1.0000000000000006E-61
-1.0000000000000005E-62
-1.0000000000000005E-63
-1.0000000000000005E-64
-1.0000000000000006E-65
-1.0000000000000005E-66
-1.0000000000000004E-67
-1.0000000000000005E-68
-1.0000000000000005E-69
-1.0000000000000005E-70
-1.0000000000000005E-71
-1.0000000000000005E-72
-1.0000000000000005E-73
-1.0000000000000005E-74
-1.0000000000000006E-75
-1.0000000000000005E-76
-1.0000000000000005E-77
-1.0000000000000005E-78
-1.0000000000000004E-79
-1.0000000000000005E-80
-1.0000000000000005E-81
-1.0000000000000005E-82
-1.0000000000000006E-83
-1.0000000000000006E-84
-1.0000000000000005E-85
-1.0000000000000006E-86
-1.0000000000000006E-87
-1.0000000000000006E-88
-1.0000000000000006E-89
-1.0000000000000006E-90
-1.0000000000000007E-91
-1.0000000000000007E-92
-1.0000000000000008E-93
-1.0000000000000008E-94
-1.0000000000000008E-95
-1.0000000000000007E-96
-1.0000000000000007E-97
-1.0000000000000008E-98
-1.0000000000000008E-99
-1.0000000000000008E-100
-1.0000000000000008E-101
-1.000000000000001E-102
-1.000000000000001E-103
-1.000000000000001E-104
-1.000000000000001E-105
-1.0000000000000009E-106
-1.0000000000000009E-107
-1.000000000000001E-108
-1.0000000000000009E-109
-1.000000000000001E-110
-1.000000000000001E-111
-1.000000000000001E-112
-1.000000000000001E-113
-1.000000000000001E-114
-1.000000000000001E-115
-1.000000000000001E-116
-1.0000000000000009E-117
-1.0000000000000009E-118
-1.0000000000000008E-119
-1.0000000000000008E-120
-1.0000000000000008E-121
-1.0000000000000009E-122
-1.0000000000000009E-123
-1.000000000000001E-124
-1.0000000000000009E-125
-1.000000000000001E-126
-1.0000000000000008E-127
-1.0000000000000008E-128
-1.0000000000000009E-129
-1.0000000000000009E-130
-1.0000000000000009E-131
-1.000000000000001E-132
-1.0000000000000008E-133
-1.0000000000000009E-134
-1.000000000000001E-135
-1.000000000000001E-136
-1.0000000000000009E-137
-1.000000000000001E-138
-1.000000000000001E-139
-1.0000000000000009E-140
-1.0000000000000009E-141
-1.000000000000001E-142
-1.000000000000001E-143
-1.000000000000001E-144
-1.000000000000001E-145
-1.000000000000001E-146
-1.0000000000000011E-147
-1.0000000000000012E-148
-1.000000000000001E-149
-1.0000000000000011E-150
-1.0000000000000011E-151
-1.0000000000000011E-152
-1.0000000000000011E-153
-1.0000000000000011E-154
-1.000000000000001E-155
-1.0000000000000011E-156
-1.000000000000001E-157
-1.000000000000001E-158
-1.0000000000000011E-159
-1.0000000000000011E-160
-1.000000000000001E-161
-1.0000000000000011E-162
-1.000000000000001E-163
-1.000000000000001E-164
-1.000000000000001E-165
-1.000000000000001E-166
-1.000000000000001E-167
-1.000000000000001E-168
-1.000000000000001E-169
-1.000000000000001E-170
-1.0000000000000011E-171
-1.0000000000000012E-172
-1.0000000000000011E-173
-1.0000000000000011E-174
-1.0000000000000011E-175
-1.000000000000001E-176
-1.000000000000001E-177
-1.000000000000001E-178
-1.000000000000001E-179
-1.000000000000001E-180
-1.0000000000000011E-181
-1.000000000000001E-182
-1.000000000000001E-183
-1.0000000000000011E-184
-1.0000000000000011E-185
-1.0000000000000011E-186
-1.0000000000000012E-187
-1.0000000000000012E-188
-1.0000000000000013E-189
-1.0000000000000013E-190
-1.0000000000000013E-191
-1.0000000000000013E-192
-1.0000000000000013E-193
-1.0000000000000012E-194
-1.0000000000000012E-195
-1.0000000000000012E-196
-1.0000000000000012E-197
-1.0000000000000012E-198
-1.0000000000000013E-199
-1.0000000000000013E-200
-1.0000000000000012E-201
-1.0000000000000012E-202
-1.0000000000000012E-203
-1.0000000000000012E-204
-1.0000000000000013E-205
-1.0000000000000013E-206
-1.0000000000000013E-207
-1.0000000000000014E-208
-1.0000000000000014E-209
-1.0000000000000014E-210
-1.0000000000000014E-211
-1.0000000000000014E-212
-1.0000000000000014E-213
-1.0000000000000014E-214
-1.0000000000000013E-215
-1.0000000000000013E-216
-1.0000000000000013E-217
-1.0000000000000013E-218
-1.0000000000000013E-219
-1.0000000000000014E-220
-1.0000000000000014E-221
-1.0000000000000014E-222
-1.0000000000000015E-223
-1.0000000000000015E-224
-1.0000000000000015E-225
-1.0000000000000014E-226
-1.0000000000000015E-227
-1.0000000000000015E-228
-1.0000000000000015E-229
-1.0000000000000015E-230
-1.0000000000000016E-231
-1.0000000000000016E-232
-1.0000000000000016E-233
-1.0000000000000016E-234
-1.0000000000000017E-235
-1.0000000000000018E-236
-1.0000000000000018E-237
-1.0000000000000017E-238
-1.0000000000000018E-239
-1.0000000000000018E-240
-1.0000000000000018E-241
-1.0000000000000018E-242
-1.0000000000000018E-243
-1.0000000000000019E-244
-1.000000000000002E-245
-1.000000000000002E-246
-1.000000000000002E-247
-1.000000000000002E-248
-1.0000000000000019E-249
-1.0000000000000019E-250
-1.000000000000002E-251
-1.000000000000002E-252
-1.000000000000002E-253
-1.000000000000002E-254
-1.000000000000002E-255
-1.000000000000002E-256
-1.000000000000002E-257
-1.000000000000002E-258
-1.0000000000000021E-259
-1.0000000000000021E-260
-1.0000000000000021E-261
-1.0000000000000021E-262
-1.0000000000000021E-263
-1.0000000000000022E-264
-1.0000000000000022E-265
-1.0000000000000022E-266
-1.0000000000000021E-267
-1.0000000000000021E-268
-1.0000000000000021E-269
-1.0000000000000021E-270
-1.0000000000000022E-271
-1.0000000000000022E-272
-1.0000000000000021E-273
-1.0000000000000021E-274
-1.0000000000000022E-275
-1.000000000000002E-276
-1.0000000000000021E-277
-1.0000000000000021E-278
-1.0000000000000022E-279
-1.0000000000000022E-280
-1.0000000000000022E-281
-1.0000000000000021E-282
-1.0000000000000021E-283
-1.0000000000000021E-284
-1.0000000000000021E-285
-1.0000000000000022E-286
-1.0000000000000022E-287
-1.0000000000000022E-288
-1.0000000000000023E-289
-1.0000000000000023E-290
-1.0000000000000023E-291
-1.0000000000000023E-292
-1.0000000000000023E-293
-1.0000000000000023E-294
-1.0000000000000022E-295
-1.0000000000000022E-296
-1.0000000000000022E-297
-1.0000000000000022E-298
-1.0000000000000022E-299
-1.0000000000000022E-300
-1.0000000000000021E-301
-1.0000000000000022E-302
-1.0000000000000022E-303
-1.0000000000000022E-304
-1.0000000000000021E-305
-1.0000000000000021E-306
-1.000000000000002E-307
-1.000000000000002E-308
-1.0E-309
-1.0E-310
-1.0E-311
-1.0E-312
-1.0E-313
-1.0E-314
-1.0E-315
-1.0E-316
-9.999997E-318
-1.0E-318
-1.0E-319
-1.0E-320
-1.0E-321
-9.9E-323
-9.9E-324
-0.0
-0.0
-0.0
-0.0
-0.0
-0.0
------------
-0.0
-0.0
-0.0
-0.0
-0.0
-NaN
------------
-0.0
-0.2
-0.2
--0.2
-0.0
-0.0
------------
-0.0
-0.4
-0.4
--0.4
-0.0
-0.0
------------
-0.0
-0.6000000000000001
-0.6000000000000001
--0.6000000000000001
-0.0
-0.0
------------
-0.0
-0.8
-0.8
--0.8
-0.0
-0.0
------------
-0.2
-0.0
-0.2
-0.2
-0.0
-Infinity
------------
-0.2
-0.2
-0.4
-0.0
-0.04000000000000001
-1.0
------------
-0.2
-0.4
-0.6000000000000001
--0.2
-0.08000000000000002
-0.5
------------
-0.2
-0.6000000000000001
-0.8
--0.4000000000000001
-0.12000000000000002
-0.3333333333333333
------------
-0.2
-0.8
-1.0
--0.6000000000000001
-0.16000000000000003
-0.25
------------
-0.4
-0.0
-0.4
-0.4
-0.0
-Infinity
------------
-0.4
-0.2
-0.6000000000000001
-0.2
-0.08000000000000002
-2.0
------------
-0.4
-0.4
-0.8
-0.0
-0.16000000000000003
-1.0
------------
-0.4
-0.6000000000000001
-1.0
--0.20000000000000007
-0.24000000000000005
-0.6666666666666666
------------
-0.4
-0.8
-1.2000000000000002
--0.4
-0.32000000000000006
-0.5
------------
-0.6000000000000001
-0.0
-0.6000000000000001
-0.6000000000000001
-0.0
-Infinity
------------
-0.6000000000000001
-0.2
-0.8
-0.4000000000000001
-0.12000000000000002
-3.0000000000000004
------------
-0.6000000000000001
-0.4
-1.0
-0.20000000000000007
-0.24000000000000005
-1.5000000000000002
------------
-0.6000000000000001
-0.6000000000000001
-1.2000000000000002
-0.0
-0.3600000000000001
-1.0
------------
-0.6000000000000001
-0.8
-1.4000000000000001
--0.19999999999999996
-0.4800000000000001
-0.7500000000000001
------------
-0.8
-0.0
-0.8
-0.8
-0.0
-Infinity
------------
-0.8
-0.2
-1.0
-0.6000000000000001
-0.16000000000000003
-4.0
------------
-0.8
-0.4
-1.2000000000000002
-0.4
-0.32000000000000006
-2.0
------------
-0.8
-0.6000000000000001
-1.4000000000000001
-0.19999999999999996
-0.4800000000000001
-1.3333333333333333
------------
-0.8
-0.8
-1.6
-0.0
-0.6400000000000001
-1.0
diff --git a/tests/regression/fp.output.cp b/tests/regression/fp.output.cp
new file mode 100644 (file)
index 0000000..a186baf
--- /dev/null
@@ -0,0 +1,1116 @@
+-------------------- testfloat --------------------
+---------- test fmul ----------
+100.0
+1000.0
+10000.0
+100000.0
+1000000.0
+1.0E7
+1.0E8
+1.0E9
+1.0E10
+1.0E11
+1.0E12
+1.0E13
+1.0E14
+1.0E15
+1.0E16
+1.0E17
+1.0E18
+1.0E19
+1.0E20
+1.0E21
+1.0E22
+1.0E23
+1.0E24
+1.0000001E25
+1.0E26
+1.00000006E27
+1.0000001E28
+1.0E29
+1.0E30
+1.0E31
+1.0E32
+1.0000001E33
+1.00000004E34
+1.0E35
+1.00000004E36
+1.00000006E37
+1.0000001E38
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+---------- test fdiv ----------
+1.0
+0.1
+0.01
+9.999999E-4
+9.999999E-5
+9.999999E-6
+9.999999E-7
+9.999999E-8
+9.999999E-9
+9.999999E-10
+9.999999E-11
+9.999999E-12
+9.999999E-13
+9.999999E-14
+9.999999E-15
+9.999999E-16
+9.999999E-17
+9.999999E-18
+9.999999E-19
+1.0E-19
+1.0E-20
+1.0E-21
+9.9999997E-23
+1.0E-23
+1.0E-24
+1.0E-25
+1.0E-26
+1.0E-27
+1.0E-28
+1.0E-29
+1.0E-30
+1.0E-31
+9.9999995E-33
+9.999999E-34
+9.999999E-35
+9.9999995E-36
+9.9999995E-37
+1.0E-37
+1.0E-38
+1.0E-39
+1.0E-40
+1.0E-41
+1.0E-42
+9.9E-44
+9.8E-45
+1.4E-45
+0.0
+0.0
+0.0
+0.0
+-----------
+0.0
+0.0
+0.0
+0.0
+0.0
+NaN
+-----------
+0.0
+0.2
+0.2
+-0.2
+0.0
+0.0
+-----------
+0.0
+0.4
+0.4
+-0.4
+0.0
+0.0
+-----------
+0.0
+0.6
+0.6
+-0.6
+0.0
+0.0
+-----------
+0.0
+0.8
+0.8
+-0.8
+0.0
+0.0
+-----------
+0.2
+0.0
+0.2
+0.2
+0.0
+Infinity
+-----------
+0.2
+0.2
+0.4
+0.0
+0.040000003
+1.0
+-----------
+0.2
+0.4
+0.6
+-0.2
+0.080000006
+0.5
+-----------
+0.2
+0.6
+0.8
+-0.40000004
+0.120000005
+0.3333333
+-----------
+0.2
+0.8
+1.0
+-0.6
+0.16000001
+0.25
+-----------
+0.4
+0.0
+0.4
+0.4
+0.0
+Infinity
+-----------
+0.4
+0.2
+0.6
+0.2
+0.080000006
+2.0
+-----------
+0.4
+0.4
+0.8
+0.0
+0.16000001
+1.0
+-----------
+0.4
+0.6
+1.0
+-0.20000002
+0.24000001
+0.6666666
+-----------
+0.4
+0.8
+1.2
+-0.4
+0.32000002
+0.5
+-----------
+0.6
+0.0
+0.6
+0.6
+0.0
+Infinity
+-----------
+0.6
+0.2
+0.8
+0.40000004
+0.120000005
+3.0
+-----------
+0.6
+0.4
+1.0
+0.20000002
+0.24000001
+1.5
+-----------
+0.6
+0.6
+1.2
+0.0
+0.36
+1.0
+-----------
+0.6
+0.8
+1.4000001
+-0.19999999
+0.48000002
+0.75
+-----------
+0.8
+0.0
+0.8
+0.8
+0.0
+Infinity
+-----------
+0.8
+0.2
+1.0
+0.6
+0.16000001
+4.0
+-----------
+0.8
+0.4
+1.2
+0.4
+0.32000002
+2.0
+-----------
+0.8
+0.6
+1.4000001
+0.19999999
+0.48000002
+1.3333333
+-----------
+0.8
+0.8
+1.6
+0.0
+0.64000005
+1.0
+-------------------- testdouble --------------------
+---------- test dmul ----------
+100.0
+1000.0
+10000.0
+100000.0
+1000000.0
+1.0E7
+1.0E8
+1.0E9
+1.0E10
+1.0E11
+1.0E12
+1.0E13
+1.0E14
+1.0E15
+1.0E16
+1.0E17
+1.0E18
+1.0E19
+1.0E20
+1.0E21
+1.0E22
+1.0E23
+1.0E24
+9.999999999999999E24
+9.999999999999999E25
+9.999999999999999E26
+1.0E28
+1.0E29
+9.999999999999999E29
+9.999999999999999E30
+9.999999999999999E31
+1.0E33
+1.0E34
+1.0E35
+9.999999999999999E35
+9.999999999999998E36
+9.999999999999998E37
+9.999999999999998E38
+9.999999999999998E39
+9.999999999999998E40
+9.999999999999999E41
+9.999999999999999E42
+9.999999999999999E43
+1.0E45
+1.0E46
+1.0E47
+1.0E48
+1.0000000000000001E49
+1.0E50
+1.0E51
+1.0E52
+1.0E53
+1.0E54
+1.0000000000000001E55
+1.0E56
+1.0E57
+1.0000000000000001E58
+1.0000000000000001E59
+1.0000000000000001E60
+1.0000000000000001E61
+1.0000000000000001E62
+1.0000000000000002E63
+1.0000000000000002E64
+1.0000000000000002E65
+1.0000000000000001E66
+1.0000000000000001E67
+1.0000000000000001E68
+1.0E69
+1.0E70
+1.0E71
+1.0000000000000001E72
+1.0000000000000001E73
+1.0000000000000001E74
+1.0000000000000001E75
+1.0E76
+1.0000000000000001E77
+1.0000000000000002E78
+1.0000000000000001E79
+1.0000000000000001E80
+1.0000000000000001E81
+1.0000000000000001E82
+1.0000000000000002E83
+1.0000000000000003E84
+1.0000000000000004E85
+1.0000000000000003E86
+1.0000000000000004E87
+1.0000000000000005E88
+1.0000000000000004E89
+1.0000000000000004E90
+1.0000000000000004E91
+1.0000000000000005E92
+1.0000000000000005E93
+1.0000000000000006E94
+1.0000000000000006E95
+1.0000000000000006E96
+1.0000000000000006E97
+1.0000000000000006E98
+1.0000000000000006E99
+1.0000000000000006E100
+1.0000000000000006E101
+1.0000000000000006E102
+1.0000000000000006E103
+1.0000000000000006E104
+1.0000000000000007E105
+1.0000000000000007E106
+1.0000000000000006E107
+1.0000000000000006E108
+1.0000000000000006E109
+1.0000000000000007E110
+1.0000000000000006E111
+1.0000000000000006E112
+1.0000000000000005E113
+1.0000000000000006E114
+1.0000000000000005E115
+1.0000000000000005E116
+1.0000000000000005E117
+1.0000000000000005E118
+1.0000000000000005E119
+1.0000000000000006E120
+1.0000000000000006E121
+1.0000000000000006E122
+1.0000000000000006E123
+1.0000000000000005E124
+1.0000000000000005E125
+1.0000000000000005E126
+1.0000000000000006E127
+1.0000000000000005E128
+1.0000000000000005E129
+1.0000000000000004E130
+1.0000000000000005E131
+1.0000000000000005E132
+1.0000000000000005E133
+1.0000000000000005E134
+1.0000000000000004E135
+1.0000000000000004E136
+1.0000000000000004E137
+1.0000000000000004E138
+1.0000000000000004E139
+1.0000000000000005E140
+1.0000000000000005E141
+1.0000000000000005E142
+1.0000000000000005E143
+1.0000000000000005E144
+1.0000000000000005E145
+1.0000000000000006E146
+1.0000000000000007E147
+1.0000000000000006E148
+1.0000000000000006E149
+1.0000000000000005E150
+1.0000000000000005E151
+1.0000000000000005E152
+1.0000000000000006E153
+1.0000000000000005E154
+1.0000000000000005E155
+1.0000000000000006E156
+1.0000000000000006E157
+1.0000000000000006E158
+1.0000000000000005E159
+1.0000000000000005E160
+1.0000000000000005E161
+1.0000000000000005E162
+1.0000000000000006E163
+1.0000000000000005E164
+1.0000000000000005E165
+1.0000000000000004E166
+1.0000000000000004E167
+1.0000000000000004E168
+1.0000000000000004E169
+1.0000000000000004E170
+1.0000000000000004E171
+1.0000000000000004E172
+1.0000000000000004E173
+1.0000000000000005E174
+1.0000000000000005E175
+1.0000000000000004E176
+1.0000000000000005E177
+1.0000000000000004E178
+1.0000000000000004E179
+1.0000000000000005E180
+1.0000000000000005E181
+1.0000000000000005E182
+1.0000000000000005E183
+1.0000000000000006E184
+1.0000000000000006E185
+1.0000000000000006E186
+1.0000000000000005E187
+1.0000000000000005E188
+1.0000000000000005E189
+1.0000000000000005E190
+1.0000000000000005E191
+1.0000000000000005E192
+1.0000000000000005E193
+1.0000000000000004E194
+1.0000000000000004E195
+1.0000000000000004E196
+1.0000000000000003E197
+1.0000000000000003E198
+1.0000000000000003E199
+1.0000000000000003E200
+1.0000000000000003E201
+1.0000000000000003E202
+1.0000000000000003E203
+1.0000000000000004E204
+1.0000000000000004E205
+1.0000000000000004E206
+1.0000000000000003E207
+1.0000000000000003E208
+1.0000000000000003E209
+1.0000000000000002E210
+1.0000000000000002E211
+1.0000000000000003E212
+1.0000000000000003E213
+1.0000000000000003E214
+1.0000000000000003E215
+1.0000000000000003E216
+1.0000000000000003E217
+1.0000000000000003E218
+1.0000000000000003E219
+1.0000000000000002E220
+1.0000000000000002E221
+1.0000000000000002E222
+1.0000000000000002E223
+1.0000000000000002E224
+1.0000000000000001E225
+1.0000000000000001E226
+1.0E227
+1.0000000000000001E228
+1.0000000000000001E229
+1.0E230
+1.0E231
+1.0E232
+1.0E233
+1.0E234
+1.0E235
+1.0E236
+1.0000000000000001E237
+1.0E238
+1.0000000000000001E239
+1.0000000000000002E240
+1.0000000000000002E241
+1.0000000000000002E242
+1.0E243
+1.0E244
+1.0E245
+1.0E246
+1.0000000000000001E247
+1.0000000000000002E248
+1.0000000000000001E249
+1.0000000000000001E250
+1.0E251
+1.0E252
+1.0000000000000001E253
+1.0000000000000001E254
+1.0E255
+1.0E256
+1.0E257
+1.0E258
+1.0000000000000001E259
+1.0E260
+1.0000000000000001E261
+1.0000000000000002E262
+1.0000000000000002E263
+1.0000000000000002E264
+1.0000000000000002E265
+1.0000000000000003E266
+1.0000000000000003E267
+1.0000000000000003E268
+1.0000000000000003E269
+1.0000000000000003E270
+1.0000000000000003E271
+1.0000000000000004E272
+1.0000000000000003E273
+1.0000000000000003E274
+1.0000000000000003E275
+1.0000000000000003E276
+1.0000000000000002E277
+1.0000000000000001E278
+1.0000000000000002E279
+1.0000000000000002E280
+1.0000000000000002E281
+1.0000000000000002E282
+1.0000000000000002E283
+1.0000000000000002E284
+1.0000000000000002E285
+1.0000000000000002E286
+1.0000000000000002E287
+1.0000000000000003E288
+1.0000000000000003E289
+1.0000000000000002E290
+1.0000000000000002E291
+1.0000000000000002E292
+1.0000000000000003E293
+1.0000000000000002E294
+1.0000000000000002E295
+1.0000000000000002E296
+1.0000000000000002E297
+1.0000000000000002E298
+1.0000000000000002E299
+1.0000000000000002E300
+1.0000000000000002E301
+1.0E302
+1.0E303
+1.0E304
+1.0E305
+9.999999999999999E305
+9.999999999999999E306
+9.999999999999998E307
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+---------- test ddiv ----------
+1.0
+0.1
+0.01
+0.001
+1.0E-4
+1.0E-5
+1.0000000000000002E-6
+1.0000000000000002E-7
+1.0000000000000002E-8
+1.0000000000000003E-9
+1.0000000000000003E-10
+1.0000000000000003E-11
+1.0000000000000002E-12
+1.0000000000000002E-13
+1.0000000000000002E-14
+1.0E-15
+1.0000000000000001E-16
+1.0E-17
+1.0E-18
+1.0000000000000001E-19
+1.0000000000000001E-20
+1.0000000000000001E-21
+1.0E-22
+1.0000000000000001E-23
+1.0000000000000001E-24
+1.0000000000000002E-25
+1.0000000000000002E-26
+1.0000000000000002E-27
+1.0000000000000002E-28
+1.0000000000000002E-29
+1.0000000000000003E-30
+1.0000000000000003E-31
+1.0000000000000003E-32
+1.0000000000000004E-33
+1.0000000000000004E-34
+1.0000000000000004E-35
+1.0000000000000004E-36
+1.0000000000000005E-37
+1.0000000000000005E-38
+1.0000000000000004E-39
+1.0000000000000003E-40
+1.0000000000000004E-41
+1.0000000000000004E-42
+1.0000000000000003E-43
+1.0000000000000003E-44
+1.0000000000000003E-45
+1.0000000000000002E-46
+1.0000000000000002E-47
+1.0000000000000003E-48
+1.0000000000000003E-49
+1.0000000000000004E-50
+1.0000000000000003E-51
+1.0000000000000004E-52
+1.0000000000000004E-53
+1.0000000000000003E-54
+1.0000000000000004E-55
+1.0000000000000004E-56
+1.0000000000000004E-57
+1.0000000000000004E-58
+1.0000000000000005E-59
+1.0000000000000005E-60
+1.0000000000000006E-61
+1.0000000000000005E-62
+1.0000000000000005E-63
+1.0000000000000005E-64
+1.0000000000000006E-65
+1.0000000000000005E-66
+1.0000000000000004E-67
+1.0000000000000005E-68
+1.0000000000000005E-69
+1.0000000000000005E-70
+1.0000000000000005E-71
+1.0000000000000005E-72
+1.0000000000000005E-73
+1.0000000000000005E-74
+1.0000000000000006E-75
+1.0000000000000005E-76
+1.0000000000000005E-77
+1.0000000000000005E-78
+1.0000000000000004E-79
+1.0000000000000005E-80
+1.0000000000000005E-81
+1.0000000000000005E-82
+1.0000000000000006E-83
+1.0000000000000006E-84
+1.0000000000000005E-85
+1.0000000000000006E-86
+1.0000000000000006E-87
+1.0000000000000006E-88
+1.0000000000000006E-89
+1.0000000000000006E-90
+1.0000000000000007E-91
+1.0000000000000007E-92
+1.0000000000000008E-93
+1.0000000000000008E-94
+1.0000000000000008E-95
+1.0000000000000007E-96
+1.0000000000000007E-97
+1.0000000000000008E-98
+1.0000000000000008E-99
+1.0000000000000008E-100
+1.0000000000000008E-101
+1.000000000000001E-102
+1.000000000000001E-103
+1.000000000000001E-104
+1.000000000000001E-105
+1.0000000000000009E-106
+1.0000000000000009E-107
+1.000000000000001E-108
+1.0000000000000009E-109
+1.000000000000001E-110
+1.000000000000001E-111
+1.000000000000001E-112
+1.000000000000001E-113
+1.000000000000001E-114
+1.000000000000001E-115
+1.000000000000001E-116
+1.0000000000000009E-117
+1.0000000000000009E-118
+1.0000000000000008E-119
+1.0000000000000008E-120
+1.0000000000000008E-121
+1.0000000000000009E-122
+1.0000000000000009E-123
+1.000000000000001E-124
+1.0000000000000009E-125
+1.000000000000001E-126
+1.0000000000000008E-127
+1.0000000000000008E-128
+1.0000000000000009E-129
+1.0000000000000009E-130
+1.0000000000000009E-131
+1.000000000000001E-132
+1.0000000000000008E-133
+1.0000000000000009E-134
+1.000000000000001E-135
+1.000000000000001E-136
+1.0000000000000009E-137
+1.000000000000001E-138
+1.000000000000001E-139
+1.0000000000000009E-140
+1.0000000000000009E-141
+1.000000000000001E-142
+1.000000000000001E-143
+1.000000000000001E-144
+1.000000000000001E-145
+1.000000000000001E-146
+1.0000000000000011E-147
+1.0000000000000012E-148
+1.000000000000001E-149
+1.0000000000000011E-150
+1.0000000000000011E-151
+1.0000000000000011E-152
+1.0000000000000011E-153
+1.0000000000000011E-154
+1.000000000000001E-155
+1.0000000000000011E-156
+1.000000000000001E-157
+1.000000000000001E-158
+1.0000000000000011E-159
+1.0000000000000011E-160
+1.000000000000001E-161
+1.0000000000000011E-162
+1.000000000000001E-163
+1.000000000000001E-164
+1.000000000000001E-165
+1.000000000000001E-166
+1.000000000000001E-167
+1.000000000000001E-168
+1.000000000000001E-169
+1.000000000000001E-170
+1.0000000000000011E-171
+1.0000000000000012E-172
+1.0000000000000011E-173
+1.0000000000000011E-174
+1.0000000000000011E-175
+1.000000000000001E-176
+1.000000000000001E-177
+1.000000000000001E-178
+1.000000000000001E-179
+1.000000000000001E-180
+1.0000000000000011E-181
+1.000000000000001E-182
+1.000000000000001E-183
+1.0000000000000011E-184
+1.0000000000000011E-185
+1.0000000000000011E-186
+1.0000000000000012E-187
+1.0000000000000012E-188
+1.0000000000000013E-189
+1.0000000000000013E-190
+1.0000000000000013E-191
+1.0000000000000013E-192
+1.0000000000000013E-193
+1.0000000000000012E-194
+1.0000000000000012E-195
+1.0000000000000012E-196
+1.0000000000000012E-197
+1.0000000000000012E-198
+1.0000000000000013E-199
+1.0000000000000013E-200
+1.0000000000000012E-201
+1.0000000000000012E-202
+1.0000000000000012E-203
+1.0000000000000012E-204
+1.0000000000000013E-205
+1.0000000000000013E-206
+1.0000000000000013E-207
+1.0000000000000014E-208
+1.0000000000000014E-209
+1.0000000000000014E-210
+1.0000000000000014E-211
+1.0000000000000014E-212
+1.0000000000000014E-213
+1.0000000000000014E-214
+1.0000000000000013E-215
+1.0000000000000013E-216
+1.0000000000000013E-217
+1.0000000000000013E-218
+1.0000000000000013E-219
+1.0000000000000014E-220
+1.0000000000000014E-221
+1.0000000000000014E-222
+1.0000000000000015E-223
+1.0000000000000015E-224
+1.0000000000000015E-225
+1.0000000000000014E-226
+1.0000000000000015E-227
+1.0000000000000015E-228
+1.0000000000000015E-229
+1.0000000000000015E-230
+1.0000000000000016E-231
+1.0000000000000016E-232
+1.0000000000000016E-233
+1.0000000000000016E-234
+1.0000000000000017E-235
+1.0000000000000018E-236
+1.0000000000000018E-237
+1.0000000000000017E-238
+1.0000000000000018E-239
+1.0000000000000018E-240
+1.0000000000000018E-241
+1.0000000000000018E-242
+1.0000000000000018E-243
+1.0000000000000019E-244
+1.000000000000002E-245
+1.000000000000002E-246
+1.000000000000002E-247
+1.000000000000002E-248
+1.0000000000000019E-249
+1.0000000000000019E-250
+1.000000000000002E-251
+1.000000000000002E-252
+1.000000000000002E-253
+1.000000000000002E-254
+1.000000000000002E-255
+1.000000000000002E-256
+1.000000000000002E-257
+1.000000000000002E-258
+1.0000000000000021E-259
+1.0000000000000021E-260
+1.0000000000000021E-261
+1.0000000000000021E-262
+1.0000000000000021E-263
+1.0000000000000022E-264
+1.0000000000000022E-265
+1.0000000000000022E-266
+1.0000000000000021E-267
+1.0000000000000021E-268
+1.0000000000000021E-269
+1.0000000000000021E-270
+1.0000000000000022E-271
+1.0000000000000022E-272
+1.0000000000000021E-273
+1.0000000000000021E-274
+1.0000000000000022E-275
+1.000000000000002E-276
+1.0000000000000021E-277
+1.0000000000000021E-278
+1.0000000000000022E-279
+1.0000000000000022E-280
+1.0000000000000022E-281
+1.0000000000000021E-282
+1.0000000000000021E-283
+1.0000000000000021E-284
+1.0000000000000021E-285
+1.0000000000000022E-286
+1.0000000000000022E-287
+1.0000000000000022E-288
+1.0000000000000023E-289
+1.0000000000000023E-290
+1.0000000000000023E-291
+1.0000000000000023E-292
+1.0000000000000023E-293
+1.0000000000000023E-294
+1.0000000000000022E-295
+1.0000000000000022E-296
+1.0000000000000022E-297
+1.0000000000000022E-298
+1.0000000000000022E-299
+1.0000000000000022E-300
+1.0000000000000021E-301
+1.0000000000000022E-302
+1.0000000000000022E-303
+1.0000000000000022E-304
+1.0000000000000021E-305
+1.0000000000000021E-306
+1.000000000000002E-307
+1.000000000000002E-308
+1.0E-309
+1.0E-310
+1.0E-311
+1.0E-312
+1.0E-313
+1.0E-314
+1.0E-315
+1.0E-316
+9.999997E-318
+1.0E-318
+1.0E-319
+1.0E-320
+1.0E-321
+9.9E-323
+9.9E-324
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+-----------
+0.0
+0.0
+0.0
+0.0
+0.0
+NaN
+-----------
+0.0
+0.2
+0.2
+-0.2
+0.0
+0.0
+-----------
+0.0
+0.4
+0.4
+-0.4
+0.0
+0.0
+-----------
+0.0
+0.6000000000000001
+0.6000000000000001
+-0.6000000000000001
+0.0
+0.0
+-----------
+0.0
+0.8
+0.8
+-0.8
+0.0
+0.0
+-----------
+0.2
+0.0
+0.2
+0.2
+0.0
+Infinity
+-----------
+0.2
+0.2
+0.4
+0.0
+0.04000000000000001
+1.0
+-----------
+0.2
+0.4
+0.6000000000000001
+-0.2
+0.08000000000000002
+0.5
+-----------
+0.2
+0.6000000000000001
+0.8
+-0.4000000000000001
+0.12000000000000002
+0.3333333333333333
+-----------
+0.2
+0.8
+1.0
+-0.6000000000000001
+0.16000000000000003
+0.25
+-----------
+0.4
+0.0
+0.4
+0.4
+0.0
+Infinity
+-----------
+0.4
+0.2
+0.6000000000000001
+0.2
+0.08000000000000002
+2.0
+-----------
+0.4
+0.4
+0.8
+0.0
+0.16000000000000003
+1.0
+-----------
+0.4
+0.6000000000000001
+1.0
+-0.20000000000000007
+0.24000000000000005
+0.6666666666666666
+-----------
+0.4
+0.8
+1.2000000000000002
+-0.4
+0.32000000000000006
+0.5
+-----------
+0.6000000000000001
+0.0
+0.6000000000000001
+0.6000000000000001
+0.0
+Infinity
+-----------
+0.6000000000000001
+0.2
+0.8
+0.4000000000000001
+0.12000000000000002
+3.0000000000000004
+-----------
+0.6000000000000001
+0.4
+1.0
+0.20000000000000007
+0.24000000000000005
+1.5000000000000002
+-----------
+0.6000000000000001
+0.6000000000000001
+1.2000000000000002
+0.0
+0.3600000000000001
+1.0
+-----------
+0.6000000000000001
+0.8
+1.4000000000000001
+-0.19999999999999996
+0.4800000000000001
+0.7500000000000001
+-----------
+0.8
+0.0
+0.8
+0.8
+0.0
+Infinity
+-----------
+0.8
+0.2
+1.0
+0.6000000000000001
+0.16000000000000003
+4.0
+-----------
+0.8
+0.4
+1.2000000000000002
+0.4
+0.32000000000000006
+2.0
+-----------
+0.8
+0.6000000000000001
+1.4000000000000001
+0.19999999999999996
+0.4800000000000001
+1.3333333333333333
+-----------
+0.8
+0.8
+1.6
+0.0
+0.6400000000000001
+1.0
diff --git a/tests/regression/fp.output.ojdk b/tests/regression/fp.output.ojdk
new file mode 100644 (file)
index 0000000..d6eb0e1
--- /dev/null
@@ -0,0 +1,1116 @@
+-------------------- testfloat --------------------
+---------- test fmul ----------
+100.0
+1000.0
+10000.0
+100000.0
+1000000.0
+1.0E7
+1.0E8
+1.0E9
+1.0E10
+9.9999998E10
+1.0E12
+9.9999998E12
+1.0E14
+9.9999999E14
+1.00000003E16
+9.9999998E16
+9.9999998E17
+1.0E19
+1.0E20
+1.0E21
+1.0E22
+1.0E23
+1.0E24
+1.0000001E25
+1.0E26
+1.00000006E27
+1.0000001E28
+1.0E29
+1.0E30
+1.0E31
+1.0E32
+1.0000001E33
+1.00000004E34
+1.0E35
+1.00000004E36
+1.00000006E37
+1.0000001E38
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+---------- test fdiv ----------
+1.0
+0.1
+0.01
+9.999999E-4
+9.999999E-5
+9.999999E-6
+9.999999E-7
+9.999999E-8
+9.999999E-9
+9.999999E-10
+9.999999E-11
+9.999999E-12
+9.999999E-13
+9.999999E-14
+9.999999E-15
+9.999999E-16
+9.999999E-17
+9.999999E-18
+9.999999E-19
+1.0E-19
+1.0E-20
+1.0E-21
+9.9999997E-23
+1.0E-23
+1.0E-24
+1.0E-25
+1.0E-26
+1.0E-27
+1.0E-28
+1.0E-29
+1.0E-30
+1.0E-31
+9.9999995E-33
+9.999999E-34
+9.999999E-35
+9.9999995E-36
+9.9999995E-37
+1.0E-37
+1.0E-38
+1.0E-39
+1.0E-40
+1.0E-41
+1.0E-42
+1.0E-43
+9.8E-45
+1.4E-45
+0.0
+0.0
+0.0
+0.0
+-----------
+0.0
+0.0
+0.0
+0.0
+0.0
+NaN
+-----------
+0.0
+0.2
+0.2
+-0.2
+0.0
+0.0
+-----------
+0.0
+0.4
+0.4
+-0.4
+0.0
+0.0
+-----------
+0.0
+0.6
+0.6
+-0.6
+0.0
+0.0
+-----------
+0.0
+0.8
+0.8
+-0.8
+0.0
+0.0
+-----------
+0.2
+0.0
+0.2
+0.2
+0.0
+Infinity
+-----------
+0.2
+0.2
+0.4
+0.0
+0.040000003
+1.0
+-----------
+0.2
+0.4
+0.6
+-0.2
+0.080000006
+0.5
+-----------
+0.2
+0.6
+0.8
+-0.40000004
+0.120000005
+0.3333333
+-----------
+0.2
+0.8
+1.0
+-0.6
+0.16000001
+0.25
+-----------
+0.4
+0.0
+0.4
+0.4
+0.0
+Infinity
+-----------
+0.4
+0.2
+0.6
+0.2
+0.080000006
+2.0
+-----------
+0.4
+0.4
+0.8
+0.0
+0.16000001
+1.0
+-----------
+0.4
+0.6
+1.0
+-0.20000002
+0.24000001
+0.6666666
+-----------
+0.4
+0.8
+1.2
+-0.4
+0.32000002
+0.5
+-----------
+0.6
+0.0
+0.6
+0.6
+0.0
+Infinity
+-----------
+0.6
+0.2
+0.8
+0.40000004
+0.120000005
+3.0
+-----------
+0.6
+0.4
+1.0
+0.20000002
+0.24000001
+1.5
+-----------
+0.6
+0.6
+1.2
+0.0
+0.36
+1.0
+-----------
+0.6
+0.8
+1.4000001
+-0.19999999
+0.48000002
+0.75
+-----------
+0.8
+0.0
+0.8
+0.8
+0.0
+Infinity
+-----------
+0.8
+0.2
+1.0
+0.6
+0.16000001
+4.0
+-----------
+0.8
+0.4
+1.2
+0.4
+0.32000002
+2.0
+-----------
+0.8
+0.6
+1.4000001
+0.19999999
+0.48000002
+1.3333333
+-----------
+0.8
+0.8
+1.6
+0.0
+0.64000005
+1.0
+-------------------- testdouble --------------------
+---------- test dmul ----------
+100.0
+1000.0
+10000.0
+100000.0
+1000000.0
+1.0E7
+1.0E8
+1.0E9
+1.0E10
+1.0E11
+1.0E12
+1.0E13
+1.0E14
+1.0E15
+1.0E16
+1.0E17
+1.0E18
+1.0E19
+1.0E20
+1.0E21
+1.0E22
+9.999999999999999E22
+1.0E24
+9.999999999999999E24
+9.999999999999999E25
+9.999999999999999E26
+1.0E28
+1.0E29
+9.999999999999999E29
+9.999999999999999E30
+9.999999999999999E31
+1.0E33
+1.0E34
+1.0E35
+9.999999999999999E35
+9.999999999999998E36
+9.999999999999998E37
+9.999999999999998E38
+9.999999999999998E39
+9.999999999999998E40
+9.999999999999999E41
+9.999999999999999E42
+9.999999999999999E43
+1.0E45
+1.0E46
+1.0E47
+1.0E48
+1.0000000000000001E49
+1.0E50
+1.0E51
+1.0E52
+1.0E53
+1.0E54
+1.0000000000000001E55
+1.0E56
+1.0E57
+1.0000000000000001E58
+1.0000000000000001E59
+1.0000000000000001E60
+1.0000000000000001E61
+1.0000000000000001E62
+1.0000000000000002E63
+1.0000000000000002E64
+1.0000000000000002E65
+1.0000000000000001E66
+1.0000000000000001E67
+1.0000000000000001E68
+1.0E69
+1.0E70
+1.0E71
+1.0000000000000001E72
+1.0000000000000001E73
+1.0000000000000001E74
+1.0000000000000001E75
+1.0E76
+1.0000000000000001E77
+1.0000000000000002E78
+1.0000000000000001E79
+1.0000000000000001E80
+1.0000000000000001E81
+1.0000000000000001E82
+1.0000000000000002E83
+1.0000000000000003E84
+1.0000000000000004E85
+1.0000000000000003E86
+1.0000000000000004E87
+1.0000000000000005E88
+1.0000000000000004E89
+1.0000000000000004E90
+1.0000000000000004E91
+1.0000000000000005E92
+1.0000000000000005E93
+1.0000000000000006E94
+1.0000000000000006E95
+1.0000000000000006E96
+1.0000000000000006E97
+1.0000000000000006E98
+1.0000000000000006E99
+1.0000000000000006E100
+1.0000000000000006E101
+1.0000000000000006E102
+1.0000000000000006E103
+1.0000000000000006E104
+1.0000000000000007E105
+1.0000000000000007E106
+1.0000000000000006E107
+1.0000000000000006E108
+1.0000000000000006E109
+1.0000000000000007E110
+1.0000000000000006E111
+1.0000000000000006E112
+1.0000000000000005E113
+1.0000000000000006E114
+1.0000000000000005E115
+1.0000000000000005E116
+1.0000000000000005E117
+1.0000000000000005E118
+1.0000000000000005E119
+1.0000000000000006E120
+1.0000000000000006E121
+1.0000000000000006E122
+1.0000000000000006E123
+1.0000000000000005E124
+1.0000000000000005E125
+1.0000000000000005E126
+1.0000000000000006E127
+1.0000000000000005E128
+1.0000000000000005E129
+1.0000000000000004E130
+1.0000000000000005E131
+1.0000000000000005E132
+1.0000000000000005E133
+1.0000000000000005E134
+1.0000000000000004E135
+1.0000000000000004E136
+1.0000000000000004E137
+1.0000000000000004E138
+1.0000000000000004E139
+1.0000000000000005E140
+1.0000000000000005E141
+1.0000000000000005E142
+1.0000000000000005E143
+1.0000000000000005E144
+1.0000000000000005E145
+1.0000000000000006E146
+1.0000000000000007E147
+1.0000000000000006E148
+1.0000000000000006E149
+1.0000000000000005E150
+1.0000000000000005E151
+1.0000000000000005E152
+1.0000000000000006E153
+1.0000000000000005E154
+1.0000000000000005E155
+1.0000000000000006E156
+1.0000000000000006E157
+1.0000000000000006E158
+1.0000000000000005E159
+1.0000000000000005E160
+1.0000000000000005E161
+1.0000000000000005E162
+1.0000000000000006E163
+1.0000000000000005E164
+1.0000000000000005E165
+1.0000000000000004E166
+1.0000000000000004E167
+1.0000000000000004E168
+1.0000000000000004E169
+1.0000000000000004E170
+1.0000000000000004E171
+1.0000000000000004E172
+1.0000000000000004E173
+1.0000000000000005E174
+1.0000000000000005E175
+1.0000000000000004E176
+1.0000000000000005E177
+1.0000000000000004E178
+1.0000000000000004E179
+1.0000000000000005E180
+1.0000000000000005E181
+1.0000000000000005E182
+1.0000000000000005E183
+1.0000000000000006E184
+1.0000000000000006E185
+1.0000000000000006E186
+1.0000000000000005E187
+1.0000000000000005E188
+1.0000000000000005E189
+1.0000000000000005E190
+1.0000000000000005E191
+1.0000000000000005E192
+1.0000000000000005E193
+1.0000000000000004E194
+1.0000000000000004E195
+1.0000000000000004E196
+1.0000000000000003E197
+1.0000000000000003E198
+1.0000000000000003E199
+1.0000000000000003E200
+1.0000000000000003E201
+1.0000000000000003E202
+1.0000000000000003E203
+1.0000000000000004E204
+1.0000000000000004E205
+1.0000000000000004E206
+1.0000000000000003E207
+1.0000000000000003E208
+1.0000000000000003E209
+1.0000000000000002E210
+1.0000000000000002E211
+1.0000000000000003E212
+1.0000000000000003E213
+1.0000000000000003E214
+1.0000000000000003E215
+1.0000000000000003E216
+1.0000000000000003E217
+1.0000000000000003E218
+1.0000000000000003E219
+1.0000000000000002E220
+1.0000000000000002E221
+1.0000000000000002E222
+1.0000000000000002E223
+1.0000000000000002E224
+1.0000000000000001E225
+1.0000000000000001E226
+1.0E227
+1.0000000000000001E228
+1.0000000000000001E229
+1.0E230
+1.0E231
+1.0E232
+1.0E233
+1.0E234
+1.0E235
+1.0E236
+1.0000000000000001E237
+1.0E238
+1.0000000000000001E239
+1.0000000000000002E240
+1.0000000000000002E241
+1.0000000000000002E242
+1.0E243
+1.0E244
+1.0E245
+1.0E246
+1.0000000000000001E247
+1.0000000000000002E248
+1.0000000000000001E249
+1.0000000000000001E250
+1.0E251
+1.0E252
+1.0000000000000001E253
+1.0000000000000001E254
+1.0E255
+1.0E256
+1.0E257
+1.0E258
+1.0000000000000001E259
+1.0E260
+1.0000000000000001E261
+1.0000000000000002E262
+1.0000000000000002E263
+1.0000000000000002E264
+1.0000000000000002E265
+1.0000000000000003E266
+1.0000000000000003E267
+1.0000000000000003E268
+1.0000000000000003E269
+1.0000000000000003E270
+1.0000000000000003E271
+1.0000000000000004E272
+1.0000000000000003E273
+1.0000000000000003E274
+1.0000000000000003E275
+1.0000000000000003E276
+1.0000000000000002E277
+1.0000000000000001E278
+1.0000000000000002E279
+1.0000000000000002E280
+1.0000000000000002E281
+1.0000000000000002E282
+1.0000000000000002E283
+1.0000000000000002E284
+1.0000000000000002E285
+1.0000000000000002E286
+1.0000000000000002E287
+1.0000000000000003E288
+1.0000000000000003E289
+1.0000000000000002E290
+1.0000000000000002E291
+1.0000000000000002E292
+1.0000000000000003E293
+1.0000000000000002E294
+1.0000000000000002E295
+1.0000000000000002E296
+1.0000000000000002E297
+1.0000000000000002E298
+1.0000000000000002E299
+1.0000000000000002E300
+1.0000000000000002E301
+1.0E302
+1.0E303
+1.0E304
+1.0E305
+9.999999999999999E305
+9.999999999999999E306
+9.999999999999998E307
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+Infinity
+---------- test ddiv ----------
+1.0
+0.1
+0.01
+0.0010
+1.0E-4
+1.0E-5
+1.0000000000000002E-6
+1.0000000000000002E-7
+1.0000000000000002E-8
+1.0000000000000003E-9
+1.0000000000000003E-10
+1.0000000000000003E-11
+1.0000000000000002E-12
+1.0000000000000002E-13
+1.0000000000000002E-14
+1.0E-15
+1.0000000000000001E-16
+1.0E-17
+1.0E-18
+1.0000000000000001E-19
+1.0000000000000001E-20
+1.0000000000000001E-21
+1.0E-22
+1.0000000000000001E-23
+1.0000000000000001E-24
+1.0000000000000002E-25
+1.0000000000000002E-26
+1.0000000000000002E-27
+1.0000000000000002E-28
+1.0000000000000002E-29
+1.0000000000000003E-30
+1.0000000000000003E-31
+1.0000000000000003E-32
+1.0000000000000004E-33
+1.0000000000000004E-34
+1.0000000000000004E-35
+1.0000000000000004E-36
+1.0000000000000005E-37
+1.0000000000000005E-38
+1.0000000000000004E-39
+1.0000000000000003E-40
+1.0000000000000004E-41
+1.0000000000000004E-42
+1.0000000000000003E-43
+1.0000000000000003E-44
+1.0000000000000003E-45
+1.0000000000000002E-46
+1.0000000000000002E-47
+1.0000000000000003E-48
+1.0000000000000003E-49
+1.0000000000000004E-50
+1.0000000000000003E-51
+1.0000000000000004E-52
+1.0000000000000004E-53
+1.0000000000000003E-54
+1.0000000000000004E-55
+1.0000000000000004E-56
+1.0000000000000004E-57
+1.0000000000000004E-58
+1.0000000000000005E-59
+1.0000000000000005E-60
+1.0000000000000006E-61
+1.0000000000000005E-62
+1.0000000000000005E-63
+1.0000000000000005E-64
+1.0000000000000006E-65
+1.0000000000000005E-66
+1.0000000000000004E-67
+1.0000000000000005E-68
+1.0000000000000005E-69
+1.0000000000000005E-70
+1.0000000000000005E-71
+1.0000000000000005E-72
+1.0000000000000005E-73
+1.0000000000000005E-74
+1.0000000000000006E-75
+1.0000000000000005E-76
+1.0000000000000005E-77
+1.0000000000000005E-78
+1.0000000000000004E-79
+1.0000000000000005E-80
+1.0000000000000005E-81
+1.0000000000000005E-82
+1.0000000000000006E-83
+1.0000000000000006E-84
+1.0000000000000005E-85
+1.0000000000000006E-86
+1.0000000000000006E-87
+1.0000000000000006E-88
+1.0000000000000006E-89
+1.0000000000000006E-90
+1.0000000000000007E-91
+1.0000000000000007E-92
+1.0000000000000008E-93
+1.0000000000000008E-94
+1.0000000000000008E-95
+1.0000000000000007E-96
+1.0000000000000007E-97
+1.0000000000000008E-98
+1.0000000000000008E-99
+1.0000000000000008E-100
+1.0000000000000008E-101
+1.000000000000001E-102
+1.000000000000001E-103
+1.000000000000001E-104
+1.000000000000001E-105
+1.0000000000000009E-106
+1.0000000000000009E-107
+1.000000000000001E-108
+1.0000000000000009E-109
+1.000000000000001E-110
+1.000000000000001E-111
+1.000000000000001E-112
+1.000000000000001E-113
+1.000000000000001E-114
+1.000000000000001E-115
+1.000000000000001E-116
+1.0000000000000009E-117
+1.0000000000000009E-118
+1.0000000000000008E-119
+1.0000000000000008E-120
+1.0000000000000008E-121
+1.0000000000000009E-122
+1.0000000000000009E-123
+1.000000000000001E-124
+1.0000000000000009E-125
+1.000000000000001E-126
+1.0000000000000008E-127
+1.0000000000000008E-128
+1.0000000000000009E-129
+1.0000000000000009E-130
+1.0000000000000009E-131
+1.000000000000001E-132
+1.0000000000000008E-133
+1.0000000000000009E-134
+1.000000000000001E-135
+1.000000000000001E-136
+1.0000000000000009E-137
+1.000000000000001E-138
+1.000000000000001E-139
+1.0000000000000009E-140
+1.0000000000000009E-141
+1.000000000000001E-142
+1.000000000000001E-143
+1.000000000000001E-144
+1.000000000000001E-145
+1.000000000000001E-146
+1.0000000000000011E-147
+1.0000000000000012E-148
+1.000000000000001E-149
+1.0000000000000011E-150
+1.0000000000000011E-151
+1.0000000000000011E-152
+1.0000000000000011E-153
+1.0000000000000011E-154
+1.000000000000001E-155
+1.0000000000000011E-156
+1.000000000000001E-157
+1.000000000000001E-158
+1.0000000000000011E-159
+1.0000000000000011E-160
+1.000000000000001E-161
+1.0000000000000011E-162
+1.000000000000001E-163
+1.000000000000001E-164
+1.000000000000001E-165
+1.000000000000001E-166
+1.000000000000001E-167
+1.000000000000001E-168
+1.000000000000001E-169
+1.000000000000001E-170
+1.0000000000000011E-171
+1.0000000000000012E-172
+1.0000000000000011E-173
+1.0000000000000011E-174
+1.0000000000000011E-175
+1.000000000000001E-176
+1.000000000000001E-177
+1.000000000000001E-178
+1.000000000000001E-179
+1.000000000000001E-180
+1.0000000000000011E-181
+1.000000000000001E-182
+1.000000000000001E-183
+1.0000000000000011E-184
+1.0000000000000011E-185
+1.0000000000000011E-186
+1.0000000000000012E-187
+1.0000000000000012E-188
+1.0000000000000013E-189
+1.0000000000000013E-190
+1.0000000000000013E-191
+1.0000000000000013E-192
+1.0000000000000013E-193
+1.0000000000000012E-194
+1.0000000000000012E-195
+1.0000000000000012E-196
+1.0000000000000012E-197
+1.0000000000000012E-198
+1.0000000000000013E-199
+1.0000000000000013E-200
+1.0000000000000012E-201
+1.0000000000000012E-202
+1.0000000000000012E-203
+1.0000000000000012E-204
+1.0000000000000013E-205
+1.0000000000000013E-206
+1.0000000000000013E-207
+1.0000000000000014E-208
+1.0000000000000014E-209
+1.0000000000000014E-210
+1.0000000000000014E-211
+1.0000000000000014E-212
+1.0000000000000014E-213
+1.0000000000000014E-214
+1.0000000000000013E-215
+1.0000000000000013E-216
+1.0000000000000013E-217
+1.0000000000000013E-218
+1.0000000000000013E-219
+1.0000000000000014E-220
+1.0000000000000014E-221
+1.0000000000000014E-222
+1.0000000000000015E-223
+1.0000000000000015E-224
+1.0000000000000015E-225
+1.0000000000000014E-226
+1.0000000000000015E-227
+1.0000000000000015E-228
+1.0000000000000015E-229
+1.0000000000000015E-230
+1.0000000000000016E-231
+1.0000000000000016E-232
+1.0000000000000016E-233
+1.0000000000000016E-234
+1.0000000000000017E-235
+1.0000000000000018E-236
+1.0000000000000018E-237
+1.0000000000000017E-238
+1.0000000000000018E-239
+1.0000000000000018E-240
+1.0000000000000018E-241
+1.0000000000000018E-242
+1.0000000000000018E-243
+1.0000000000000019E-244
+1.000000000000002E-245
+1.000000000000002E-246
+1.000000000000002E-247
+1.000000000000002E-248
+1.0000000000000019E-249
+1.0000000000000019E-250
+1.000000000000002E-251
+1.000000000000002E-252
+1.000000000000002E-253
+1.000000000000002E-254
+1.000000000000002E-255
+1.000000000000002E-256
+1.000000000000002E-257
+1.000000000000002E-258
+1.0000000000000021E-259
+1.0000000000000021E-260
+1.0000000000000021E-261
+1.0000000000000021E-262
+1.0000000000000021E-263
+1.0000000000000022E-264
+1.0000000000000022E-265
+1.0000000000000022E-266
+1.0000000000000021E-267
+1.0000000000000021E-268
+1.0000000000000021E-269
+1.0000000000000021E-270
+1.0000000000000022E-271
+1.0000000000000022E-272
+1.0000000000000021E-273
+1.0000000000000021E-274
+1.0000000000000022E-275
+1.000000000000002E-276
+1.0000000000000021E-277
+1.0000000000000021E-278
+1.0000000000000022E-279
+1.0000000000000022E-280
+1.0000000000000022E-281
+1.0000000000000021E-282
+1.0000000000000021E-283
+1.0000000000000021E-284
+1.0000000000000021E-285
+1.0000000000000022E-286
+1.0000000000000022E-287
+1.0000000000000022E-288
+1.0000000000000023E-289
+1.0000000000000023E-290
+1.0000000000000023E-291
+1.0000000000000023E-292
+1.0000000000000023E-293
+1.0000000000000023E-294
+1.0000000000000022E-295
+1.0000000000000022E-296
+1.0000000000000022E-297
+1.0000000000000022E-298
+1.0000000000000022E-299
+1.0000000000000022E-300
+1.0000000000000021E-301
+1.0000000000000022E-302
+1.0000000000000022E-303
+1.0000000000000022E-304
+1.0000000000000021E-305
+1.0000000000000021E-306
+1.000000000000002E-307
+1.000000000000002E-308
+1.0E-309
+1.0E-310
+1.0E-311
+1.0E-312
+1.0E-313
+1.0E-314
+1.0E-315
+1.0E-316
+9.999997E-318
+1.0E-318
+1.0E-319
+1.0E-320
+1.0E-321
+1.0E-322
+1.0E-323
+0.0
+0.0
+0.0
+0.0
+0.0
+0.0
+-----------
+0.0
+0.0
+0.0
+0.0
+0.0
+NaN
+-----------
+0.0
+0.2
+0.2
+-0.2
+0.0
+0.0
+-----------
+0.0
+0.4
+0.4
+-0.4
+0.0
+0.0
+-----------
+0.0
+0.6000000000000001
+0.6000000000000001
+-0.6000000000000001
+0.0
+0.0
+-----------
+0.0
+0.8
+0.8
+-0.8
+0.0
+0.0
+-----------
+0.2
+0.0
+0.2
+0.2
+0.0
+Infinity
+-----------
+0.2
+0.2
+0.4
+0.0
+0.04000000000000001
+1.0
+-----------
+0.2
+0.4
+0.6000000000000001
+-0.2
+0.08000000000000002
+0.5
+-----------
+0.2
+0.6000000000000001
+0.8
+-0.4000000000000001
+0.12000000000000002
+0.3333333333333333
+-----------
+0.2
+0.8
+1.0
+-0.6000000000000001
+0.16000000000000003
+0.25
+-----------
+0.4
+0.0
+0.4
+0.4
+0.0
+Infinity
+-----------
+0.4
+0.2
+0.6000000000000001
+0.2
+0.08000000000000002
+2.0
+-----------
+0.4
+0.4
+0.8
+0.0
+0.16000000000000003
+1.0
+-----------
+0.4
+0.6000000000000001
+1.0
+-0.20000000000000007
+0.24000000000000005
+0.6666666666666666
+-----------
+0.4
+0.8
+1.2000000000000002
+-0.4
+0.32000000000000006
+0.5
+-----------
+0.6000000000000001
+0.0
+0.6000000000000001
+0.6000000000000001
+0.0
+Infinity
+-----------
+0.6000000000000001
+0.2
+0.8
+0.4000000000000001
+0.12000000000000002
+3.0000000000000004
+-----------
+0.6000000000000001
+0.4
+1.0
+0.20000000000000007
+0.24000000000000005
+1.5000000000000002
+-----------
+0.6000000000000001
+0.6000000000000001
+1.2000000000000002
+0.0
+0.3600000000000001
+1.0
+-----------
+0.6000000000000001
+0.8
+1.4000000000000001
+-0.19999999999999996
+0.4800000000000001
+0.7500000000000001
+-----------
+0.8
+0.0
+0.8
+0.8
+0.0
+Infinity
+-----------
+0.8
+0.2
+1.0
+0.6000000000000001
+0.16000000000000003
+4.0
+-----------
+0.8
+0.4
+1.2000000000000002
+0.4
+0.32000000000000006
+2.0
+-----------
+0.8
+0.6000000000000001
+1.4000000000000001
+0.19999999999999996
+0.4800000000000001
+1.3333333333333333
+-----------
+0.8
+0.8
+1.6
+0.0
+0.6400000000000001
+1.0
diff --git a/tests/regression/fptest.output b/tests/regression/fptest.output
deleted file mode 100644 (file)
index 170c78c..0000000
+++ /dev/null
@@ -1,951 +0,0 @@
----------------------------- tests NaNs and Infs -------------------
-   0.    ------------------- print NaNs and Infs
-   1.    NaNQ float:  NaN
-   2.    +INF float:  Infinity
-   3.    -INF float:  -Infinity
-   4.    NaNQ double: NaN
-   5.    +INF double: Infinity
-   6.    -INF double: -Infinity
-   7.    ------------------- test zero division
-   8.    0 / 0 = NaNQ float:  NaN
-   9.    + / 0 = +INF float:  Infinity
-  10.    - / 0 = -INF float:  -Infinity
-  11.    0 / 0 = NaNQ double: NaN
-  12.    + / 0 = +INF double: Infinity
-  13.    - / 0 = -INF double: -Infinity
-  14.    ------------------- test conversions
-  15.    convert NaNQ (NaN,NaN) to int:    0
-  16.    convert NaNQ (NaN,NaN) to int:    0
-  17.    convert NaNQ (NaN,NaN) to long:   0
-  18.    convert NaNQ (NaN,NaN) to long:   0
-  19.    convert +INF (Infinity,Infinity) to int:    2147483647
-  20.    convert +INF (Infinity,Infinity) to int:    2147483647
-  21.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
-  22.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
-  23.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
-  24.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
-  25.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
-  26.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
-  27.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
-  28.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
-  29.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
-  30.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
-  31.    convert  MIN (1.4E-45,4.9E-324) to int:    0
-  32.    convert  MIN (1.4E-45,4.9E-324) to int:    0
-  33.    convert  MIN (1.4E-45,4.9E-324) to long:   0
-  34.    convert  MIN (1.4E-45,4.9E-324) to long:   0
-  35.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to int:    2147483647
-  36.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to int:    2147483646
-  37.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to long:   2147483648
-  38.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to long:   2147483646
-  39.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to int:    2147483647
-  40.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to int:    2147483647
-  41.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to long:   2147483648
-  42.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to long:   2147483647
-  43.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to int:    2147483647
-  44.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to int:    2147483647
-  45.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to long:   2147483648
-  46.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to long:   2147483648
-  47.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to int:    -2147483648
-  48.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to int:    -2147483647
-  49.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to long:   -2147483648
-  50.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to long:   -2147483647
-  51.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to int:    -2147483648
-  52.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to int:    -2147483648
-  53.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to long:   -2147483648
-  54.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to long:   -2147483648
-  55.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to int:    -2147483648
-  56.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to int:    -2147483648
-  57.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to long:   -2147483648
-  58.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to long:   -2147483649
-  59.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
-  60.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
-  61.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
-  62.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
-  63.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
-  64.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
-  65.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
-  66.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
-  67.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
-  68.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
-  69.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
-  70.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
-  71.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
-  72.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
-  73.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
-  74.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
-  75.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
-  76.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
-  77.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
-  78.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
-  79.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
-  80.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
-  81.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
-  82.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
-  83.    ------------------- test NaNQ op value
-  84.    NaNQ + -5.0 = float:  NaN
-  85.    NaNQ - -5.0 = float:  NaN
-  86.    NaNQ * -5.0 = float:  NaN
-  87.    NaNQ / -5.0 = float:  NaN
-  88.    NaNQ % -5.0 = float:  NaN
-  89.    NaNQ + -5.0 = double: NaN
-  90.    NaNQ - -5.0 = double: NaN
-  91.    NaNQ * -5.0 = double: NaN
-  92.    NaNQ / -5.0 = double: NaN
-  93.    NaNQ % -5.0 = double: NaN
-  94.     (NaNQ == -5.0) = float: false
-  95.     (NaNQ != -5.0) = float: true
-  96.     (NaNQ <  -5.0) = float: false
-  97.     (NaNQ <= -5.0) = float: false
-  98.     (NaNQ >  -5.0) = float: false
-  99.     (NaNQ >= -5.0) = float: false
- 100.    !(NaNQ == -5.0) = float: true
- 101.    !(NaNQ != -5.0) = float: false
- 102.    !(NaNQ <  -5.0) = float: true
- 103.    !(NaNQ <= -5.0) = float: true
- 104.    !(NaNQ >  -5.0) = float: true
- 105.    !(NaNQ >= -5.0) = float: true
- 106.     (NaNQ == -5.0) = double: false
- 107.     (NaNQ != -5.0) = double: true
- 108.     (NaNQ <  -5.0) = double: false
- 109.     (NaNQ <= -5.0) = double: false
- 110.     (NaNQ >  -5.0) = double: false
- 111.     (NaNQ >= -5.0) = double: false
- 112.    !(NaNQ == -5.0) = double: true
- 113.    !(NaNQ != -5.0) = double: false
- 114.    !(NaNQ <  -5.0) = double: true
- 115.    !(NaNQ <= -5.0) = double: true
- 116.    !(NaNQ >  -5.0) = double: true
- 117.    !(NaNQ >= -5.0) = double: true
- 118.    NaNQ + -0.0 = float:  NaN
- 119.    NaNQ - -0.0 = float:  NaN
- 120.    NaNQ * -0.0 = float:  NaN
- 121.    NaNQ / -0.0 = float:  NaN
- 122.    NaNQ % -0.0 = float:  NaN
- 123.    NaNQ + -0.0 = double: NaN
- 124.    NaNQ - -0.0 = double: NaN
- 125.    NaNQ * -0.0 = double: NaN
- 126.    NaNQ / -0.0 = double: NaN
- 127.    NaNQ % -0.0 = double: NaN
- 128.     (NaNQ == -0.0) = float: false
- 129.     (NaNQ != -0.0) = float: true
- 130.     (NaNQ <  -0.0) = float: false
- 131.     (NaNQ <= -0.0) = float: false
- 132.     (NaNQ >  -0.0) = float: false
- 133.     (NaNQ >= -0.0) = float: false
- 134.    !(NaNQ == -0.0) = float: true
- 135.    !(NaNQ != -0.0) = float: false
- 136.    !(NaNQ <  -0.0) = float: true
- 137.    !(NaNQ <= -0.0) = float: true
- 138.    !(NaNQ >  -0.0) = float: true
- 139.    !(NaNQ >= -0.0) = float: true
- 140.     (NaNQ == -0.0) = double: false
- 141.     (NaNQ != -0.0) = double: true
- 142.     (NaNQ <  -0.0) = double: false
- 143.     (NaNQ <= -0.0) = double: false
- 144.     (NaNQ >  -0.0) = double: false
- 145.     (NaNQ >= -0.0) = double: false
- 146.    !(NaNQ == -0.0) = double: true
- 147.    !(NaNQ != -0.0) = double: false
- 148.    !(NaNQ <  -0.0) = double: true
- 149.    !(NaNQ <= -0.0) = double: true
- 150.    !(NaNQ >  -0.0) = double: true
- 151.    !(NaNQ >= -0.0) = double: true
- 152.    NaNQ + 0.0 = float:  NaN
- 153.    NaNQ - 0.0 = float:  NaN
- 154.    NaNQ * 0.0 = float:  NaN
- 155.    NaNQ / 0.0 = float:  NaN
- 156.    NaNQ % 0.0 = float:  NaN
- 157.    NaNQ + 0.0 = double: NaN
- 158.    NaNQ - 0.0 = double: NaN
- 159.    NaNQ * 0.0 = double: NaN
- 160.    NaNQ / 0.0 = double: NaN
- 161.    NaNQ % 0.0 = double: NaN
- 162.     (NaNQ == 0.0) = float: false
- 163.     (NaNQ != 0.0) = float: true
- 164.     (NaNQ <  0.0) = float: false
- 165.     (NaNQ <= 0.0) = float: false
- 166.     (NaNQ >  0.0) = float: false
- 167.     (NaNQ >= 0.0) = float: false
- 168.    !(NaNQ == 0.0) = float: true
- 169.    !(NaNQ != 0.0) = float: false
- 170.    !(NaNQ <  0.0) = float: true
- 171.    !(NaNQ <= 0.0) = float: true
- 172.    !(NaNQ >  0.0) = float: true
- 173.    !(NaNQ >= 0.0) = float: true
- 174.     (NaNQ == 0.0) = double: false
- 175.     (NaNQ != 0.0) = double: true
- 176.     (NaNQ <  0.0) = double: false
- 177.     (NaNQ <= 0.0) = double: false
- 178.     (NaNQ >  0.0) = double: false
- 179.     (NaNQ >= 0.0) = double: false
- 180.    !(NaNQ == 0.0) = double: true
- 181.    !(NaNQ != 0.0) = double: false
- 182.    !(NaNQ <  0.0) = double: true
- 183.    !(NaNQ <= 0.0) = double: true
- 184.    !(NaNQ >  0.0) = double: true
- 185.    !(NaNQ >= 0.0) = double: true
- 186.    NaNQ + 5.0 = float:  NaN
- 187.    NaNQ - 5.0 = float:  NaN
- 188.    NaNQ * 5.0 = float:  NaN
- 189.    NaNQ / 5.0 = float:  NaN
- 190.    NaNQ % 5.0 = float:  NaN
- 191.    NaNQ + 5.0 = double: NaN
- 192.    NaNQ - 5.0 = double: NaN
- 193.    NaNQ * 5.0 = double: NaN
- 194.    NaNQ / 5.0 = double: NaN
- 195.    NaNQ % 5.0 = double: NaN
- 196.     (NaNQ == 5.0) = float: false
- 197.     (NaNQ != 5.0) = float: true
- 198.     (NaNQ <  5.0) = float: false
- 199.     (NaNQ <= 5.0) = float: false
- 200.     (NaNQ >  5.0) = float: false
- 201.     (NaNQ >= 5.0) = float: false
- 202.    !(NaNQ == 5.0) = float: true
- 203.    !(NaNQ != 5.0) = float: false
- 204.    !(NaNQ <  5.0) = float: true
- 205.    !(NaNQ <= 5.0) = float: true
- 206.    !(NaNQ >  5.0) = float: true
- 207.    !(NaNQ >= 5.0) = float: true
- 208.     (NaNQ == 5.0) = double: false
- 209.     (NaNQ != 5.0) = double: true
- 210.     (NaNQ <  5.0) = double: false
- 211.     (NaNQ <= 5.0) = double: false
- 212.     (NaNQ >  5.0) = double: false
- 213.     (NaNQ >= 5.0) = double: false
- 214.    !(NaNQ == 5.0) = double: true
- 215.    !(NaNQ != 5.0) = double: false
- 216.    !(NaNQ <  5.0) = double: true
- 217.    !(NaNQ <= 5.0) = double: true
- 218.    !(NaNQ >  5.0) = double: true
- 219.    !(NaNQ >= 5.0) = double: true
- 220.    ------------------- test value op NaNQ
- 221.    -5.0 + NaNQ = float:  NaN
- 222.    -5.0 - NaNQ = float:  NaN
- 223.    -5.0 * NaNQ = float:  NaN
- 224.    -5.0 / NaNQ = float:  NaN
- 225.    -5.0 % NaNQ = float:  NaN
- 226.    -5.0 + NaNQ = double: NaN
- 227.    -5.0 - NaNQ = double: NaN
- 228.    -5.0 * NaNQ = double: NaN
- 229.    -5.0 / NaNQ = double: NaN
- 230.    -5.0 % NaNQ = double: NaN
- 231.     (-5.0 == NaNQ) = float: false
- 232.     (-5.0 != NaNQ) = float: true
- 233.     (-5.0 <  NaNQ) = float: false
- 234.     (-5.0 <= NaNQ) = float: false
- 235.     (-5.0 >  NaNQ) = float: false
- 236.     (-5.0 >= NaNQ) = float: false
- 237.    !(-5.0 == NaNQ) = float: true
- 238.    !(-5.0 != NaNQ) = float: false
- 239.    !(-5.0 <  NaNQ) = float: true
- 240.    !(-5.0 <= NaNQ) = float: true
- 241.    !(-5.0 >  NaNQ) = float: true
- 242.    !(-5.0 >= NaNQ) = float: true
- 243.     (-5.0 == NaNQ) = double: false
- 244.     (-5.0 != NaNQ) = double: true
- 245.     (-5.0 <  NaNQ) = double: false
- 246.     (-5.0 <= NaNQ) = double: false
- 247.     (-5.0 >  NaNQ) = double: false
- 248.     (-5.0 >= NaNQ) = double: false
- 249.    !(-5.0 == NaNQ) = double: true
- 250.    !(-5.0 != NaNQ) = double: false
- 251.    !(-5.0 <  NaNQ) = double: true
- 252.    !(-5.0 <= NaNQ) = double: true
- 253.    !(-5.0 >  NaNQ) = double: true
- 254.    !(-5.0 >= NaNQ) = double: true
- 255.    -0.0 + NaNQ = float:  NaN
- 256.    -0.0 - NaNQ = float:  NaN
- 257.    -0.0 * NaNQ = float:  NaN
- 258.    -0.0 / NaNQ = float:  NaN
- 259.    -0.0 % NaNQ = float:  NaN
- 260.    -0.0 + NaNQ = double: NaN
- 261.    -0.0 - NaNQ = double: NaN
- 262.    -0.0 * NaNQ = double: NaN
- 263.    -0.0 / NaNQ = double: NaN
- 264.    -0.0 % NaNQ = double: NaN
- 265.     (-0.0 == NaNQ) = float: false
- 266.     (-0.0 != NaNQ) = float: true
- 267.     (-0.0 <  NaNQ) = float: false
- 268.     (-0.0 <= NaNQ) = float: false
- 269.     (-0.0 >  NaNQ) = float: false
- 270.     (-0.0 >= NaNQ) = float: false
- 271.    !(-0.0 == NaNQ) = float: true
- 272.    !(-0.0 != NaNQ) = float: false
- 273.    !(-0.0 <  NaNQ) = float: true
- 274.    !(-0.0 <= NaNQ) = float: true
- 275.    !(-0.0 >  NaNQ) = float: true
- 276.    !(-0.0 >= NaNQ) = float: true
- 277.     (-0.0 == NaNQ) = double: false
- 278.     (-0.0 != NaNQ) = double: true
- 279.     (-0.0 <  NaNQ) = double: false
- 280.     (-0.0 <= NaNQ) = double: false
- 281.     (-0.0 >  NaNQ) = double: false
- 282.     (-0.0 >= NaNQ) = double: false
- 283.    !(-0.0 == NaNQ) = double: true
- 284.    !(-0.0 != NaNQ) = double: false
- 285.    !(-0.0 <  NaNQ) = double: true
- 286.    !(-0.0 <= NaNQ) = double: true
- 287.    !(-0.0 >  NaNQ) = double: true
- 288.    !(-0.0 >= NaNQ) = double: true
- 289.    0.0 + NaNQ = float:  NaN
- 290.    0.0 - NaNQ = float:  NaN
- 291.    0.0 * NaNQ = float:  NaN
- 292.    0.0 / NaNQ = float:  NaN
- 293.    0.0 % NaNQ = float:  NaN
- 294.    0.0 + NaNQ = double: NaN
- 295.    0.0 - NaNQ = double: NaN
- 296.    0.0 * NaNQ = double: NaN
- 297.    0.0 / NaNQ = double: NaN
- 298.    0.0 % NaNQ = double: NaN
- 299.     (0.0 == NaNQ) = float: false
- 300.     (0.0 != NaNQ) = float: true
- 301.     (0.0 <  NaNQ) = float: false
- 302.     (0.0 <= NaNQ) = float: false
- 303.     (0.0 >  NaNQ) = float: false
- 304.     (0.0 >= NaNQ) = float: false
- 305.    !(0.0 == NaNQ) = float: true
- 306.    !(0.0 != NaNQ) = float: false
- 307.    !(0.0 <  NaNQ) = float: true
- 308.    !(0.0 <= NaNQ) = float: true
- 309.    !(0.0 >  NaNQ) = float: true
- 310.    !(0.0 >= NaNQ) = float: true
- 311.     (0.0 == NaNQ) = double: false
- 312.     (0.0 != NaNQ) = double: true
- 313.     (0.0 <  NaNQ) = double: false
- 314.     (0.0 <= NaNQ) = double: false
- 315.     (0.0 >  NaNQ) = double: false
- 316.     (0.0 >= NaNQ) = double: false
- 317.    !(0.0 == NaNQ) = double: true
- 318.    !(0.0 != NaNQ) = double: false
- 319.    !(0.0 <  NaNQ) = double: true
- 320.    !(0.0 <= NaNQ) = double: true
- 321.    !(0.0 >  NaNQ) = double: true
- 322.    !(0.0 >= NaNQ) = double: true
- 323.    5.0 + NaNQ = float:  NaN
- 324.    5.0 - NaNQ = float:  NaN
- 325.    5.0 * NaNQ = float:  NaN
- 326.    5.0 / NaNQ = float:  NaN
- 327.    5.0 % NaNQ = float:  NaN
- 328.    5.0 + NaNQ = double: NaN
- 329.    5.0 - NaNQ = double: NaN
- 330.    5.0 * NaNQ = double: NaN
- 331.    5.0 / NaNQ = double: NaN
- 332.    5.0 % NaNQ = double: NaN
- 333.     (5.0 == NaNQ) = float: false
- 334.     (5.0 != NaNQ) = float: true
- 335.     (5.0 <  NaNQ) = float: false
- 336.     (5.0 <= NaNQ) = float: false
- 337.     (5.0 >  NaNQ) = float: false
- 338.     (5.0 >= NaNQ) = float: false
- 339.    !(5.0 == NaNQ) = float: true
- 340.    !(5.0 != NaNQ) = float: false
- 341.    !(5.0 <  NaNQ) = float: true
- 342.    !(5.0 <= NaNQ) = float: true
- 343.    !(5.0 >  NaNQ) = float: true
- 344.    !(5.0 >= NaNQ) = float: true
- 345.     (5.0 == NaNQ) = double: false
- 346.     (5.0 != NaNQ) = double: true
- 347.     (5.0 <  NaNQ) = double: false
- 348.     (5.0 <= NaNQ) = double: false
- 349.     (5.0 >  NaNQ) = double: false
- 350.     (5.0 >= NaNQ) = double: false
- 351.    !(5.0 == NaNQ) = double: true
- 352.    !(5.0 != NaNQ) = double: false
- 353.    !(5.0 <  NaNQ) = double: true
- 354.    !(5.0 <= NaNQ) = double: true
- 355.    !(5.0 >  NaNQ) = double: true
- 356.    !(5.0 >= NaNQ) = double: true
- 357.    ------------------- test +INF op value
- 358.    +INF + -5.0 = float:  Infinity
- 359.    +INF - -5.0 = float:  Infinity
- 360.    +INF * -5.0 = float:  -Infinity
- 361.    +INF / -5.0 = float:  -Infinity
- 362.    +INF % -5.0 = float:  NaN
- 363.    +INF + -5.0 = double: Infinity
- 364.    +INF - -5.0 = double: Infinity
- 365.    +INF * -5.0 = double: -Infinity
- 366.    +INF / -5.0 = double: -Infinity
- 367.    +INF % -5.0 = double: NaN
- 368.     (+INF == -5.0) = float: false
- 369.     (+INF != -5.0) = float: true
- 370.     (+INF <  -5.0) = float: false
- 371.     (+INF <= -5.0) = float: false
- 372.     (+INF >  -5.0) = float: true
- 373.     (+INF >= -5.0) = float: true
- 374.    !(+INF == -5.0) = float: true
- 375.    !(+INF != -5.0) = float: false
- 376.    !(+INF <  -5.0) = float: true
- 377.    !(+INF <= -5.0) = float: true
- 378.    !(+INF >  -5.0) = float: false
- 379.    !(+INF >= -5.0) = float: false
- 380.     (+INF == -5.0) = double: false
- 381.     (+INF != -5.0) = double: true
- 382.     (+INF <  -5.0) = double: false
- 383.     (+INF <= -5.0) = double: false
- 384.     (+INF >  -5.0) = double: true
- 385.     (+INF >= -5.0) = double: true
- 386.    !(+INF == -5.0) = double: true
- 387.    !(+INF != -5.0) = double: false
- 388.    !(+INF <  -5.0) = double: true
- 389.    !(+INF <= -5.0) = double: true
- 390.    !(+INF >  -5.0) = double: false
- 391.    !(+INF >= -5.0) = double: false
- 392.    +INF + -0.0 = float:  Infinity
- 393.    +INF - -0.0 = float:  Infinity
- 394.    +INF * -0.0 = float:  NaN
- 395.    +INF / -0.0 = float:  -Infinity
- 396.    +INF % -0.0 = float:  NaN
- 397.    +INF + -0.0 = double: Infinity
- 398.    +INF - -0.0 = double: Infinity
- 399.    +INF * -0.0 = double: NaN
- 400.    +INF / -0.0 = double: -Infinity
- 401.    +INF % -0.0 = double: NaN
- 402.     (+INF == -0.0) = float: false
- 403.     (+INF != -0.0) = float: true
- 404.     (+INF <  -0.0) = float: false
- 405.     (+INF <= -0.0) = float: false
- 406.     (+INF >  -0.0) = float: true
- 407.     (+INF >= -0.0) = float: true
- 408.    !(+INF == -0.0) = float: true
- 409.    !(+INF != -0.0) = float: false
- 410.    !(+INF <  -0.0) = float: true
- 411.    !(+INF <= -0.0) = float: true
- 412.    !(+INF >  -0.0) = float: false
- 413.    !(+INF >= -0.0) = float: false
- 414.     (+INF == -0.0) = double: false
- 415.     (+INF != -0.0) = double: true
- 416.     (+INF <  -0.0) = double: false
- 417.     (+INF <= -0.0) = double: false
- 418.     (+INF >  -0.0) = double: true
- 419.     (+INF >= -0.0) = double: true
- 420.    !(+INF == -0.0) = double: true
- 421.    !(+INF != -0.0) = double: false
- 422.    !(+INF <  -0.0) = double: true
- 423.    !(+INF <= -0.0) = double: true
- 424.    !(+INF >  -0.0) = double: false
- 425.    !(+INF >= -0.0) = double: false
- 426.    +INF + 0.0 = float:  Infinity
- 427.    +INF - 0.0 = float:  Infinity
- 428.    +INF * 0.0 = float:  NaN
- 429.    +INF / 0.0 = float:  Infinity
- 430.    +INF % 0.0 = float:  NaN
- 431.    +INF + 0.0 = double: Infinity
- 432.    +INF - 0.0 = double: Infinity
- 433.    +INF * 0.0 = double: NaN
- 434.    +INF / 0.0 = double: Infinity
- 435.    +INF % 0.0 = double: NaN
- 436.     (+INF == 0.0) = float: false
- 437.     (+INF != 0.0) = float: true
- 438.     (+INF <  0.0) = float: false
- 439.     (+INF <= 0.0) = float: false
- 440.     (+INF >  0.0) = float: true
- 441.     (+INF >= 0.0) = float: true
- 442.    !(+INF == 0.0) = float: true
- 443.    !(+INF != 0.0) = float: false
- 444.    !(+INF <  0.0) = float: true
- 445.    !(+INF <= 0.0) = float: true
- 446.    !(+INF >  0.0) = float: false
- 447.    !(+INF >= 0.0) = float: false
- 448.     (+INF == 0.0) = double: false
- 449.     (+INF != 0.0) = double: true
- 450.     (+INF <  0.0) = double: false
- 451.     (+INF <= 0.0) = double: false
- 452.     (+INF >  0.0) = double: true
- 453.     (+INF >= 0.0) = double: true
- 454.    !(+INF == 0.0) = double: true
- 455.    !(+INF != 0.0) = double: false
- 456.    !(+INF <  0.0) = double: true
- 457.    !(+INF <= 0.0) = double: true
- 458.    !(+INF >  0.0) = double: false
- 459.    !(+INF >= 0.0) = double: false
- 460.    +INF + 5.0 = float:  Infinity
- 461.    +INF - 5.0 = float:  Infinity
- 462.    +INF * 5.0 = float:  Infinity
- 463.    +INF / 5.0 = float:  Infinity
- 464.    +INF % 5.0 = float:  NaN
- 465.    +INF + 5.0 = double: Infinity
- 466.    +INF - 5.0 = double: Infinity
- 467.    +INF * 5.0 = double: Infinity
- 468.    +INF / 5.0 = double: Infinity
- 469.    +INF % 5.0 = double: NaN
- 470.     (+INF == 5.0) = float: false
- 471.     (+INF != 5.0) = float: true
- 472.     (+INF <  5.0) = float: false
- 473.     (+INF <= 5.0) = float: false
- 474.     (+INF >  5.0) = float: true
- 475.     (+INF >= 5.0) = float: true
- 476.    !(+INF == 5.0) = float: true
- 477.    !(+INF != 5.0) = float: false
- 478.    !(+INF <  5.0) = float: true
- 479.    !(+INF <= 5.0) = float: true
- 480.    !(+INF >  5.0) = float: false
- 481.    !(+INF >= 5.0) = float: false
- 482.     (+INF == 5.0) = double: false
- 483.     (+INF != 5.0) = double: true
- 484.     (+INF <  5.0) = double: false
- 485.     (+INF <= 5.0) = double: false
- 486.     (+INF >  5.0) = double: true
- 487.     (+INF >= 5.0) = double: true
- 488.    !(+INF == 5.0) = double: true
- 489.    !(+INF != 5.0) = double: false
- 490.    !(+INF <  5.0) = double: true
- 491.    !(+INF <= 5.0) = double: true
- 492.    !(+INF >  5.0) = double: false
- 493.    !(+INF >= 5.0) = double: false
- 494.    ------------------- test +INF op value
- 495.    -5.0 + +INF = float:  Infinity
- 496.    -5.0 - +INF = float:  -Infinity
- 497.    -5.0 * +INF = float:  -Infinity
- 498.    -5.0 / +INF = float:  -0.0
- 499.    -5.0 % +INF = float:  -5.0
- 500.    -5.0 + +INF = double: Infinity
- 501.    -5.0 - +INF = double: -Infinity
- 502.    -5.0 * +INF = double: -Infinity
- 503.    -5.0 / +INF = double: -0.0
- 504.    -5.0 % +INF = double: -5.0
- 505.     (-5.0 == +INF) = float: false
- 506.     (-5.0 != +INF) = float: true
- 507.     (-5.0 <  +INF) = float: true
- 508.     (-5.0 <= +INF) = float: true
- 509.     (-5.0 >  +INF) = float: false
- 510.     (-5.0 >= +INF) = float: false
- 511.    !(-5.0 == +INF) = float: true
- 512.    !(-5.0 != +INF) = float: false
- 513.    !(-5.0 <  +INF) = float: false
- 514.    !(-5.0 <= +INF) = float: false
- 515.    !(-5.0 >  +INF) = float: true
- 516.    !(-5.0 >= +INF) = float: true
- 517.     (-5.0 == +INF) = double: false
- 518.     (-5.0 != +INF) = double: true
- 519.     (-5.0 <  +INF) = double: true
- 520.     (-5.0 <= +INF) = double: true
- 521.     (-5.0 >  +INF) = double: false
- 522.     (-5.0 >= +INF) = double: false
- 523.    !(-5.0 == +INF) = double: true
- 524.    !(-5.0 != +INF) = double: false
- 525.    !(-5.0 <  +INF) = double: false
- 526.    !(-5.0 <= +INF) = double: false
- 527.    !(-5.0 >  +INF) = double: true
- 528.    !(-5.0 >= +INF) = double: true
- 529.    -0.0 + +INF = float:  Infinity
- 530.    -0.0 - +INF = float:  -Infinity
- 531.    -0.0 * +INF = float:  NaN
- 532.    -0.0 / +INF = float:  -0.0
- 533.    -0.0 % +INF = float:  -0.0
- 534.    -0.0 + +INF = double: Infinity
- 535.    -0.0 - +INF = double: -Infinity
- 536.    -0.0 * +INF = double: NaN
- 537.    -0.0 / +INF = double: -0.0
- 538.    -0.0 % +INF = double: -0.0
- 539.     (-0.0 == +INF) = float: false
- 540.     (-0.0 != +INF) = float: true
- 541.     (-0.0 <  +INF) = float: true
- 542.     (-0.0 <= +INF) = float: true
- 543.     (-0.0 >  +INF) = float: false
- 544.     (-0.0 >= +INF) = float: false
- 545.    !(-0.0 == +INF) = float: true
- 546.    !(-0.0 != +INF) = float: false
- 547.    !(-0.0 <  +INF) = float: false
- 548.    !(-0.0 <= +INF) = float: false
- 549.    !(-0.0 >  +INF) = float: true
- 550.    !(-0.0 >= +INF) = float: true
- 551.     (-0.0 == +INF) = double: false
- 552.     (-0.0 != +INF) = double: true
- 553.     (-0.0 <  +INF) = double: true
- 554.     (-0.0 <= +INF) = double: true
- 555.     (-0.0 >  +INF) = double: false
- 556.     (-0.0 >= +INF) = double: false
- 557.    !(-0.0 == +INF) = double: true
- 558.    !(-0.0 != +INF) = double: false
- 559.    !(-0.0 <  +INF) = double: false
- 560.    !(-0.0 <= +INF) = double: false
- 561.    !(-0.0 >  +INF) = double: true
- 562.    !(-0.0 >= +INF) = double: true
- 563.    0.0 + +INF = float:  Infinity
- 564.    0.0 - +INF = float:  -Infinity
- 565.    0.0 * +INF = float:  NaN
- 566.    0.0 / +INF = float:  0.0
- 567.    0.0 % +INF = float:  0.0
- 568.    0.0 + +INF = double: Infinity
- 569.    0.0 - +INF = double: -Infinity
- 570.    0.0 * +INF = double: NaN
- 571.    0.0 / +INF = double: 0.0
- 572.    0.0 % +INF = double: 0.0
- 573.     (0.0 == +INF) = float: false
- 574.     (0.0 != +INF) = float: true
- 575.     (0.0 <  +INF) = float: true
- 576.     (0.0 <= +INF) = float: true
- 577.     (0.0 >  +INF) = float: false
- 578.     (0.0 >= +INF) = float: false
- 579.    !(0.0 == +INF) = float: true
- 580.    !(0.0 != +INF) = float: false
- 581.    !(0.0 <  +INF) = float: false
- 582.    !(0.0 <= +INF) = float: false
- 583.    !(0.0 >  +INF) = float: true
- 584.    !(0.0 >= +INF) = float: true
- 585.     (0.0 == +INF) = double: false
- 586.     (0.0 != +INF) = double: true
- 587.     (0.0 <  +INF) = double: true
- 588.     (0.0 <= +INF) = double: true
- 589.     (0.0 >  +INF) = double: false
- 590.     (0.0 >= +INF) = double: false
- 591.    !(0.0 == +INF) = double: true
- 592.    !(0.0 != +INF) = double: false
- 593.    !(0.0 <  +INF) = double: false
- 594.    !(0.0 <= +INF) = double: false
- 595.    !(0.0 >  +INF) = double: true
- 596.    !(0.0 >= +INF) = double: true
- 597.    5.0 + +INF = float:  Infinity
- 598.    5.0 - +INF = float:  -Infinity
- 599.    5.0 * +INF = float:  Infinity
- 600.    5.0 / +INF = float:  0.0
- 601.    5.0 % +INF = float:  5.0
- 602.    5.0 + +INF = double: Infinity
- 603.    5.0 - +INF = double: -Infinity
- 604.    5.0 * +INF = double: Infinity
- 605.    5.0 / +INF = double: 0.0
- 606.    5.0 % +INF = double: 5.0
- 607.     (5.0 == +INF) = float: false
- 608.     (5.0 != +INF) = float: true
- 609.     (5.0 <  +INF) = float: true
- 610.     (5.0 <= +INF) = float: true
- 611.     (5.0 >  +INF) = float: false
- 612.     (5.0 >= +INF) = float: false
- 613.    !(5.0 == +INF) = float: true
- 614.    !(5.0 != +INF) = float: false
- 615.    !(5.0 <  +INF) = float: false
- 616.    !(5.0 <= +INF) = float: false
- 617.    !(5.0 >  +INF) = float: true
- 618.    !(5.0 >= +INF) = float: true
- 619.     (5.0 == +INF) = double: false
- 620.     (5.0 != +INF) = double: true
- 621.     (5.0 <  +INF) = double: true
- 622.     (5.0 <= +INF) = double: true
- 623.     (5.0 >  +INF) = double: false
- 624.     (5.0 >= +INF) = double: false
- 625.    !(5.0 == +INF) = double: true
- 626.    !(5.0 != +INF) = double: false
- 627.    !(5.0 <  +INF) = double: false
- 628.    !(5.0 <= +INF) = double: false
- 629.    !(5.0 >  +INF) = double: true
- 630.    !(5.0 >= +INF) = double: true
- 631.    ------------------- test -INF op value
- 632.    -INF + -5.0 = float:  -Infinity
- 633.    -INF - -5.0 = float:  -Infinity
- 634.    -INF * -5.0 = float:  Infinity
- 635.    -INF / -5.0 = float:  Infinity
- 636.    -INF % -5.0 = float:  NaN
- 637.    -INF + -5.0 = double: -Infinity
- 638.    -INF - -5.0 = double: -Infinity
- 639.    -INF * -5.0 = double: Infinity
- 640.    -INF / -5.0 = double: Infinity
- 641.    -INF % -5.0 = double: NaN
- 642.     (-INF == -5.0) = float: false
- 643.     (-INF != -5.0) = float: true
- 644.     (-INF <  -5.0) = float: true
- 645.     (-INF <= -5.0) = float: true
- 646.     (-INF >  -5.0) = float: false
- 647.     (-INF >= -5.0) = float: false
- 648.    !(-INF == -5.0) = float: true
- 649.    !(-INF != -5.0) = float: false
- 650.    !(-INF <  -5.0) = float: false
- 651.    !(-INF <= -5.0) = float: false
- 652.    !(-INF >  -5.0) = float: true
- 653.    !(-INF >= -5.0) = float: true
- 654.     (-INF == -5.0) = double: false
- 655.     (-INF != -5.0) = double: true
- 656.     (-INF <  -5.0) = double: true
- 657.     (-INF <= -5.0) = double: true
- 658.     (-INF >  -5.0) = double: false
- 659.     (-INF >= -5.0) = double: false
- 660.    !(-INF == -5.0) = double: true
- 661.    !(-INF != -5.0) = double: false
- 662.    !(-INF <  -5.0) = double: false
- 663.    !(-INF <= -5.0) = double: false
- 664.    !(-INF >  -5.0) = double: true
- 665.    !(-INF >= -5.0) = double: true
- 666.    -INF + -0.0 = float:  -Infinity
- 667.    -INF - -0.0 = float:  -Infinity
- 668.    -INF * -0.0 = float:  NaN
- 669.    -INF / -0.0 = float:  Infinity
- 670.    -INF % -0.0 = float:  NaN
- 671.    -INF + -0.0 = double: -Infinity
- 672.    -INF - -0.0 = double: -Infinity
- 673.    -INF * -0.0 = double: NaN
- 674.    -INF / -0.0 = double: Infinity
- 675.    -INF % -0.0 = double: NaN
- 676.     (-INF == -0.0) = float: false
- 677.     (-INF != -0.0) = float: true
- 678.     (-INF <  -0.0) = float: true
- 679.     (-INF <= -0.0) = float: true
- 680.     (-INF >  -0.0) = float: false
- 681.     (-INF >= -0.0) = float: false
- 682.    !(-INF == -0.0) = float: true
- 683.    !(-INF != -0.0) = float: false
- 684.    !(-INF <  -0.0) = float: false
- 685.    !(-INF <= -0.0) = float: false
- 686.    !(-INF >  -0.0) = float: true
- 687.    !(-INF >= -0.0) = float: true
- 688.     (-INF == -0.0) = double: false
- 689.     (-INF != -0.0) = double: true
- 690.     (-INF <  -0.0) = double: true
- 691.     (-INF <= -0.0) = double: true
- 692.     (-INF >  -0.0) = double: false
- 693.     (-INF >= -0.0) = double: false
- 694.    !(-INF == -0.0) = double: true
- 695.    !(-INF != -0.0) = double: false
- 696.    !(-INF <  -0.0) = double: false
- 697.    !(-INF <= -0.0) = double: false
- 698.    !(-INF >  -0.0) = double: true
- 699.    !(-INF >= -0.0) = double: true
- 700.    -INF + 0.0 = float:  -Infinity
- 701.    -INF - 0.0 = float:  -Infinity
- 702.    -INF * 0.0 = float:  NaN
- 703.    -INF / 0.0 = float:  -Infinity
- 704.    -INF % 0.0 = float:  NaN
- 705.    -INF + 0.0 = double: -Infinity
- 706.    -INF - 0.0 = double: -Infinity
- 707.    -INF * 0.0 = double: NaN
- 708.    -INF / 0.0 = double: -Infinity
- 709.    -INF % 0.0 = double: NaN
- 710.     (-INF == 0.0) = float: false
- 711.     (-INF != 0.0) = float: true
- 712.     (-INF <  0.0) = float: true
- 713.     (-INF <= 0.0) = float: true
- 714.     (-INF >  0.0) = float: false
- 715.     (-INF >= 0.0) = float: false
- 716.    !(-INF == 0.0) = float: true
- 717.    !(-INF != 0.0) = float: false
- 718.    !(-INF <  0.0) = float: false
- 719.    !(-INF <= 0.0) = float: false
- 720.    !(-INF >  0.0) = float: true
- 721.    !(-INF >= 0.0) = float: true
- 722.     (-INF == 0.0) = double: false
- 723.     (-INF != 0.0) = double: true
- 724.     (-INF <  0.0) = double: true
- 725.     (-INF <= 0.0) = double: true
- 726.     (-INF >  0.0) = double: false
- 727.     (-INF >= 0.0) = double: false
- 728.    !(-INF == 0.0) = double: true
- 729.    !(-INF != 0.0) = double: false
- 730.    !(-INF <  0.0) = double: false
- 731.    !(-INF <= 0.0) = double: false
- 732.    !(-INF >  0.0) = double: true
- 733.    !(-INF >= 0.0) = double: true
- 734.    -INF + 5.0 = float:  -Infinity
- 735.    -INF - 5.0 = float:  -Infinity
- 736.    -INF * 5.0 = float:  -Infinity
- 737.    -INF / 5.0 = float:  -Infinity
- 738.    -INF % 5.0 = float:  NaN
- 739.    -INF + 5.0 = double: -Infinity
- 740.    -INF - 5.0 = double: -Infinity
- 741.    -INF * 5.0 = double: -Infinity
- 742.    -INF / 5.0 = double: -Infinity
- 743.    -INF % 5.0 = double: NaN
- 744.     (-INF == 5.0) = float: false
- 745.     (-INF != 5.0) = float: true
- 746.     (-INF <  5.0) = float: true
- 747.     (-INF <= 5.0) = float: true
- 748.     (-INF >  5.0) = float: false
- 749.     (-INF >= 5.0) = float: false
- 750.    !(-INF == 5.0) = float: true
- 751.    !(-INF != 5.0) = float: false
- 752.    !(-INF <  5.0) = float: false
- 753.    !(-INF <= 5.0) = float: false
- 754.    !(-INF >  5.0) = float: true
- 755.    !(-INF >= 5.0) = float: true
- 756.     (-INF == 5.0) = double: false
- 757.     (-INF != 5.0) = double: true
- 758.     (-INF <  5.0) = double: true
- 759.     (-INF <= 5.0) = double: true
- 760.     (-INF >  5.0) = double: false
- 761.     (-INF >= 5.0) = double: false
- 762.    !(-INF == 5.0) = double: true
- 763.    !(-INF != 5.0) = double: false
- 764.    !(-INF <  5.0) = double: false
- 765.    !(-INF <= 5.0) = double: false
- 766.    !(-INF >  5.0) = double: true
- 767.    !(-INF >= 5.0) = double: true
- 768.    ------------------- test -INF op value
- 769.    -5.0 + -INF = float:  -Infinity
- 770.    -5.0 - -INF = float:  Infinity
- 771.    -5.0 * -INF = float:  Infinity
- 772.    -5.0 / -INF = float:  0.0
- 773.    -5.0 % -INF = float:  -5.0
- 774.    -5.0 + -INF = double: -Infinity
- 775.    -5.0 - -INF = double: Infinity
- 776.    -5.0 * -INF = double: Infinity
- 777.    -5.0 / -INF = double: 0.0
- 778.    -5.0 % -INF = double: -5.0
- 779.     (-5.0 == -INF) = float: false
- 780.     (-5.0 != -INF) = float: true
- 781.     (-5.0 <  -INF) = float: false
- 782.     (-5.0 <= -INF) = float: false
- 783.     (-5.0 >  -INF) = float: true
- 784.     (-5.0 >= -INF) = float: true
- 785.    !(-5.0 == -INF) = float: true
- 786.    !(-5.0 != -INF) = float: false
- 787.    !(-5.0 <  -INF) = float: true
- 788.    !(-5.0 <= -INF) = float: true
- 789.    !(-5.0 >  -INF) = float: false
- 790.    !(-5.0 >= -INF) = float: false
- 791.     (-5.0 == -INF) = double: false
- 792.     (-5.0 != -INF) = double: true
- 793.     (-5.0 <  -INF) = double: false
- 794.     (-5.0 <= -INF) = double: false
- 795.     (-5.0 >  -INF) = double: true
- 796.     (-5.0 >= -INF) = double: true
- 797.    !(-5.0 == -INF) = double: true
- 798.    !(-5.0 != -INF) = double: false
- 799.    !(-5.0 <  -INF) = double: true
- 800.    !(-5.0 <= -INF) = double: true
- 801.    !(-5.0 >  -INF) = double: false
- 802.    !(-5.0 >= -INF) = double: false
- 803.    -0.0 + -INF = float:  -Infinity
- 804.    -0.0 - -INF = float:  Infinity
- 805.    -0.0 * -INF = float:  NaN
- 806.    -0.0 / -INF = float:  0.0
- 807.    -0.0 % -INF = float:  -0.0
- 808.    -0.0 + -INF = double: -Infinity
- 809.    -0.0 - -INF = double: Infinity
- 810.    -0.0 * -INF = double: NaN
- 811.    -0.0 / -INF = double: 0.0
- 812.    -0.0 % -INF = double: -0.0
- 813.     (-0.0 == -INF) = float: false
- 814.     (-0.0 != -INF) = float: true
- 815.     (-0.0 <  -INF) = float: false
- 816.     (-0.0 <= -INF) = float: false
- 817.     (-0.0 >  -INF) = float: true
- 818.     (-0.0 >= -INF) = float: true
- 819.    !(-0.0 == -INF) = float: true
- 820.    !(-0.0 != -INF) = float: false
- 821.    !(-0.0 <  -INF) = float: true
- 822.    !(-0.0 <= -INF) = float: true
- 823.    !(-0.0 >  -INF) = float: false
- 824.    !(-0.0 >= -INF) = float: false
- 825.     (-0.0 == -INF) = double: false
- 826.     (-0.0 != -INF) = double: true
- 827.     (-0.0 <  -INF) = double: false
- 828.     (-0.0 <= -INF) = double: false
- 829.     (-0.0 >  -INF) = double: true
- 830.     (-0.0 >= -INF) = double: true
- 831.    !(-0.0 == -INF) = double: true
- 832.    !(-0.0 != -INF) = double: false
- 833.    !(-0.0 <  -INF) = double: true
- 834.    !(-0.0 <= -INF) = double: true
- 835.    !(-0.0 >  -INF) = double: false
- 836.    !(-0.0 >= -INF) = double: false
- 837.    0.0 + -INF = float:  -Infinity
- 838.    0.0 - -INF = float:  Infinity
- 839.    0.0 * -INF = float:  NaN
- 840.    0.0 / -INF = float:  -0.0
- 841.    0.0 % -INF = float:  0.0
- 842.    0.0 + -INF = double: -Infinity
- 843.    0.0 - -INF = double: Infinity
- 844.    0.0 * -INF = double: NaN
- 845.    0.0 / -INF = double: -0.0
- 846.    0.0 % -INF = double: 0.0
- 847.     (0.0 == -INF) = float: false
- 848.     (0.0 != -INF) = float: true
- 849.     (0.0 <  -INF) = float: false
- 850.     (0.0 <= -INF) = float: false
- 851.     (0.0 >  -INF) = float: true
- 852.     (0.0 >= -INF) = float: true
- 853.    !(0.0 == -INF) = float: true
- 854.    !(0.0 != -INF) = float: false
- 855.    !(0.0 <  -INF) = float: true
- 856.    !(0.0 <= -INF) = float: true
- 857.    !(0.0 >  -INF) = float: false
- 858.    !(0.0 >= -INF) = float: false
- 859.     (0.0 == -INF) = double: false
- 860.     (0.0 != -INF) = double: true
- 861.     (0.0 <  -INF) = double: false
- 862.     (0.0 <= -INF) = double: false
- 863.     (0.0 >  -INF) = double: true
- 864.     (0.0 >= -INF) = double: true
- 865.    !(0.0 == -INF) = double: true
- 866.    !(0.0 != -INF) = double: false
- 867.    !(0.0 <  -INF) = double: true
- 868.    !(0.0 <= -INF) = double: true
- 869.    !(0.0 >  -INF) = double: false
- 870.    !(0.0 >= -INF) = double: false
- 871.    5.0 + -INF = float:  -Infinity
- 872.    5.0 - -INF = float:  Infinity
- 873.    5.0 * -INF = float:  -Infinity
- 874.    5.0 / -INF = float:  -0.0
- 875.    5.0 % -INF = float:  5.0
- 876.    5.0 + -INF = double: -Infinity
- 877.    5.0 - -INF = double: Infinity
- 878.    5.0 * -INF = double: -Infinity
- 879.    5.0 / -INF = double: -0.0
- 880.    5.0 % -INF = double: 5.0
- 881.     (5.0 == -INF) = float: false
- 882.     (5.0 != -INF) = float: true
- 883.     (5.0 <  -INF) = float: false
- 884.     (5.0 <= -INF) = float: false
- 885.     (5.0 >  -INF) = float: true
- 886.     (5.0 >= -INF) = float: true
- 887.    !(5.0 == -INF) = float: true
- 888.    !(5.0 != -INF) = float: false
- 889.    !(5.0 <  -INF) = float: true
- 890.    !(5.0 <= -INF) = float: true
- 891.    !(5.0 >  -INF) = float: false
- 892.    !(5.0 >= -INF) = float: false
- 893.     (5.0 == -INF) = double: false
- 894.     (5.0 != -INF) = double: true
- 895.     (5.0 <  -INF) = double: false
- 896.     (5.0 <= -INF) = double: false
- 897.     (5.0 >  -INF) = double: true
- 898.     (5.0 >= -INF) = double: true
- 899.    !(5.0 == -INF) = double: true
- 900.    !(5.0 != -INF) = double: false
- 901.    !(5.0 <  -INF) = double: true
- 902.    !(5.0 <= -INF) = double: true
- 903.    !(5.0 >  -INF) = double: false
- 904.    !(5.0 >= -INF) = double: false
- 905.    ------------------- test MAX op value
- 906.    MAX + 5.0 = float:  3.4028235E38
- 907.    MAX - 5.0 = float:  3.4028235E38
- 908.    MAX * 5.0 = float:  Infinity
- 909.    MAX / 5.0 = float:  6.805647E37
- 910.    MAX % 5.0 = float:  0.0
- 911.    MAX + 5.0 = double: 1.7976931348623157E308
- 912.    MAX - 5.0 = double: 1.7976931348623157E308
- 913.    MAX * 5.0 = double: Infinity
- 914.    MAX / 5.0 = double: 3.5953862697246315E307
- 915.    MAX % 5.0 = double: 3.0
- 916.    ------------------- test value op MAX
- 917.    5.0 + MAX = float:  3.4028235E38
- 918.    5.0 - MAX = float:  -3.4028235E38
- 919.    5.0 * MAX = float:  Infinity
- 920.    5.0 / MAX = float:  1.4693681E-38
- 921.    5.0 % MAX = float:  5.0
- 922.    5.0 + MAX = double: 1.7976931348623157E308
- 923.    5.0 - MAX = double: -1.7976931348623157E308
- 924.    5.0 * MAX = double: Infinity
- 925.    5.0 / MAX = double: 2.781342323134002E-308
- 926.    5.0 % MAX = double: 5.0
- 927.    ------------------- test MIN op value
- 928.    MIN + 5.0 = float:  5.0
- 929.    MIN - 5.0 = float:  -5.0
- 930.    MIN * 5.0 = float:  7.0E-45
- 931.    MIN / 5.0 = float:  0.0
- 932.    MIN % 5.0 = float:  1.4E-45
- 933.    MIN + 5.0 = double: 5.0
- 934.    MIN - 5.0 = double: -5.0
- 935.    MIN * 5.0 = double: 2.5E-323
- 936.    MIN / 5.0 = double: 0.0
- 937.    MIN % 5.0 = double: 4.9E-324
- 938.    ------------------- test value op MIN
- 939.    5.0 + MIN = float:  5.0
- 940.    5.0 - MIN = float:  5.0
- 941.    5.0 * MIN = float:  7.0E-45
- 942.    5.0 / MIN = float:  Infinity
- 943.    5.0 % MIN = float:  0.0
- 944.    5.0 + MIN = double: 5.0
- 945.    5.0 - MIN = double: 5.0
- 946.    5.0 * MIN = double: 2.5E-323
- 947.    5.0 / MIN = double: Infinity
- 948.    5.0 % MIN = double: 0.0
- 949.    
\ No newline at end of file
diff --git a/tests/regression/fptest.output.cp b/tests/regression/fptest.output.cp
new file mode 100644 (file)
index 0000000..170c78c
--- /dev/null
@@ -0,0 +1,951 @@
+---------------------------- tests NaNs and Infs -------------------
+   0.    ------------------- print NaNs and Infs
+   1.    NaNQ float:  NaN
+   2.    +INF float:  Infinity
+   3.    -INF float:  -Infinity
+   4.    NaNQ double: NaN
+   5.    +INF double: Infinity
+   6.    -INF double: -Infinity
+   7.    ------------------- test zero division
+   8.    0 / 0 = NaNQ float:  NaN
+   9.    + / 0 = +INF float:  Infinity
+  10.    - / 0 = -INF float:  -Infinity
+  11.    0 / 0 = NaNQ double: NaN
+  12.    + / 0 = +INF double: Infinity
+  13.    - / 0 = -INF double: -Infinity
+  14.    ------------------- test conversions
+  15.    convert NaNQ (NaN,NaN) to int:    0
+  16.    convert NaNQ (NaN,NaN) to int:    0
+  17.    convert NaNQ (NaN,NaN) to long:   0
+  18.    convert NaNQ (NaN,NaN) to long:   0
+  19.    convert +INF (Infinity,Infinity) to int:    2147483647
+  20.    convert +INF (Infinity,Infinity) to int:    2147483647
+  21.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
+  22.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
+  23.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
+  24.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
+  25.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
+  26.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
+  27.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
+  28.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
+  29.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
+  30.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
+  31.    convert  MIN (1.4E-45,4.9E-324) to int:    0
+  32.    convert  MIN (1.4E-45,4.9E-324) to int:    0
+  33.    convert  MIN (1.4E-45,4.9E-324) to long:   0
+  34.    convert  MIN (1.4E-45,4.9E-324) to long:   0
+  35.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to int:    2147483647
+  36.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to int:    2147483646
+  37.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to long:   2147483648
+  38.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to long:   2147483646
+  39.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to int:    2147483647
+  40.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to int:    2147483647
+  41.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to long:   2147483648
+  42.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to long:   2147483647
+  43.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to int:    2147483647
+  44.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to int:    2147483647
+  45.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to long:   2147483648
+  46.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to long:   2147483648
+  47.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to int:    -2147483648
+  48.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to int:    -2147483647
+  49.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to long:   -2147483648
+  50.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to long:   -2147483647
+  51.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to int:    -2147483648
+  52.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to int:    -2147483648
+  53.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to long:   -2147483648
+  54.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to long:   -2147483648
+  55.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to int:    -2147483648
+  56.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to int:    -2147483648
+  57.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to long:   -2147483648
+  58.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to long:   -2147483649
+  59.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  60.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  61.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  62.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  63.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  64.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  65.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  66.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  67.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  68.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  69.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  70.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  71.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  72.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  73.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  74.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  75.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  76.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  77.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  78.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  79.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  80.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  81.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  82.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  83.    ------------------- test NaNQ op value
+  84.    NaNQ + -5.0 = float:  NaN
+  85.    NaNQ - -5.0 = float:  NaN
+  86.    NaNQ * -5.0 = float:  NaN
+  87.    NaNQ / -5.0 = float:  NaN
+  88.    NaNQ % -5.0 = float:  NaN
+  89.    NaNQ + -5.0 = double: NaN
+  90.    NaNQ - -5.0 = double: NaN
+  91.    NaNQ * -5.0 = double: NaN
+  92.    NaNQ / -5.0 = double: NaN
+  93.    NaNQ % -5.0 = double: NaN
+  94.     (NaNQ == -5.0) = float: false
+  95.     (NaNQ != -5.0) = float: true
+  96.     (NaNQ <  -5.0) = float: false
+  97.     (NaNQ <= -5.0) = float: false
+  98.     (NaNQ >  -5.0) = float: false
+  99.     (NaNQ >= -5.0) = float: false
+ 100.    !(NaNQ == -5.0) = float: true
+ 101.    !(NaNQ != -5.0) = float: false
+ 102.    !(NaNQ <  -5.0) = float: true
+ 103.    !(NaNQ <= -5.0) = float: true
+ 104.    !(NaNQ >  -5.0) = float: true
+ 105.    !(NaNQ >= -5.0) = float: true
+ 106.     (NaNQ == -5.0) = double: false
+ 107.     (NaNQ != -5.0) = double: true
+ 108.     (NaNQ <  -5.0) = double: false
+ 109.     (NaNQ <= -5.0) = double: false
+ 110.     (NaNQ >  -5.0) = double: false
+ 111.     (NaNQ >= -5.0) = double: false
+ 112.    !(NaNQ == -5.0) = double: true
+ 113.    !(NaNQ != -5.0) = double: false
+ 114.    !(NaNQ <  -5.0) = double: true
+ 115.    !(NaNQ <= -5.0) = double: true
+ 116.    !(NaNQ >  -5.0) = double: true
+ 117.    !(NaNQ >= -5.0) = double: true
+ 118.    NaNQ + -0.0 = float:  NaN
+ 119.    NaNQ - -0.0 = float:  NaN
+ 120.    NaNQ * -0.0 = float:  NaN
+ 121.    NaNQ / -0.0 = float:  NaN
+ 122.    NaNQ % -0.0 = float:  NaN
+ 123.    NaNQ + -0.0 = double: NaN
+ 124.    NaNQ - -0.0 = double: NaN
+ 125.    NaNQ * -0.0 = double: NaN
+ 126.    NaNQ / -0.0 = double: NaN
+ 127.    NaNQ % -0.0 = double: NaN
+ 128.     (NaNQ == -0.0) = float: false
+ 129.     (NaNQ != -0.0) = float: true
+ 130.     (NaNQ <  -0.0) = float: false
+ 131.     (NaNQ <= -0.0) = float: false
+ 132.     (NaNQ >  -0.0) = float: false
+ 133.     (NaNQ >= -0.0) = float: false
+ 134.    !(NaNQ == -0.0) = float: true
+ 135.    !(NaNQ != -0.0) = float: false
+ 136.    !(NaNQ <  -0.0) = float: true
+ 137.    !(NaNQ <= -0.0) = float: true
+ 138.    !(NaNQ >  -0.0) = float: true
+ 139.    !(NaNQ >= -0.0) = float: true
+ 140.     (NaNQ == -0.0) = double: false
+ 141.     (NaNQ != -0.0) = double: true
+ 142.     (NaNQ <  -0.0) = double: false
+ 143.     (NaNQ <= -0.0) = double: false
+ 144.     (NaNQ >  -0.0) = double: false
+ 145.     (NaNQ >= -0.0) = double: false
+ 146.    !(NaNQ == -0.0) = double: true
+ 147.    !(NaNQ != -0.0) = double: false
+ 148.    !(NaNQ <  -0.0) = double: true
+ 149.    !(NaNQ <= -0.0) = double: true
+ 150.    !(NaNQ >  -0.0) = double: true
+ 151.    !(NaNQ >= -0.0) = double: true
+ 152.    NaNQ + 0.0 = float:  NaN
+ 153.    NaNQ - 0.0 = float:  NaN
+ 154.    NaNQ * 0.0 = float:  NaN
+ 155.    NaNQ / 0.0 = float:  NaN
+ 156.    NaNQ % 0.0 = float:  NaN
+ 157.    NaNQ + 0.0 = double: NaN
+ 158.    NaNQ - 0.0 = double: NaN
+ 159.    NaNQ * 0.0 = double: NaN
+ 160.    NaNQ / 0.0 = double: NaN
+ 161.    NaNQ % 0.0 = double: NaN
+ 162.     (NaNQ == 0.0) = float: false
+ 163.     (NaNQ != 0.0) = float: true
+ 164.     (NaNQ <  0.0) = float: false
+ 165.     (NaNQ <= 0.0) = float: false
+ 166.     (NaNQ >  0.0) = float: false
+ 167.     (NaNQ >= 0.0) = float: false
+ 168.    !(NaNQ == 0.0) = float: true
+ 169.    !(NaNQ != 0.0) = float: false
+ 170.    !(NaNQ <  0.0) = float: true
+ 171.    !(NaNQ <= 0.0) = float: true
+ 172.    !(NaNQ >  0.0) = float: true
+ 173.    !(NaNQ >= 0.0) = float: true
+ 174.     (NaNQ == 0.0) = double: false
+ 175.     (NaNQ != 0.0) = double: true
+ 176.     (NaNQ <  0.0) = double: false
+ 177.     (NaNQ <= 0.0) = double: false
+ 178.     (NaNQ >  0.0) = double: false
+ 179.     (NaNQ >= 0.0) = double: false
+ 180.    !(NaNQ == 0.0) = double: true
+ 181.    !(NaNQ != 0.0) = double: false
+ 182.    !(NaNQ <  0.0) = double: true
+ 183.    !(NaNQ <= 0.0) = double: true
+ 184.    !(NaNQ >  0.0) = double: true
+ 185.    !(NaNQ >= 0.0) = double: true
+ 186.    NaNQ + 5.0 = float:  NaN
+ 187.    NaNQ - 5.0 = float:  NaN
+ 188.    NaNQ * 5.0 = float:  NaN
+ 189.    NaNQ / 5.0 = float:  NaN
+ 190.    NaNQ % 5.0 = float:  NaN
+ 191.    NaNQ + 5.0 = double: NaN
+ 192.    NaNQ - 5.0 = double: NaN
+ 193.    NaNQ * 5.0 = double: NaN
+ 194.    NaNQ / 5.0 = double: NaN
+ 195.    NaNQ % 5.0 = double: NaN
+ 196.     (NaNQ == 5.0) = float: false
+ 197.     (NaNQ != 5.0) = float: true
+ 198.     (NaNQ <  5.0) = float: false
+ 199.     (NaNQ <= 5.0) = float: false
+ 200.     (NaNQ >  5.0) = float: false
+ 201.     (NaNQ >= 5.0) = float: false
+ 202.    !(NaNQ == 5.0) = float: true
+ 203.    !(NaNQ != 5.0) = float: false
+ 204.    !(NaNQ <  5.0) = float: true
+ 205.    !(NaNQ <= 5.0) = float: true
+ 206.    !(NaNQ >  5.0) = float: true
+ 207.    !(NaNQ >= 5.0) = float: true
+ 208.     (NaNQ == 5.0) = double: false
+ 209.     (NaNQ != 5.0) = double: true
+ 210.     (NaNQ <  5.0) = double: false
+ 211.     (NaNQ <= 5.0) = double: false
+ 212.     (NaNQ >  5.0) = double: false
+ 213.     (NaNQ >= 5.0) = double: false
+ 214.    !(NaNQ == 5.0) = double: true
+ 215.    !(NaNQ != 5.0) = double: false
+ 216.    !(NaNQ <  5.0) = double: true
+ 217.    !(NaNQ <= 5.0) = double: true
+ 218.    !(NaNQ >  5.0) = double: true
+ 219.    !(NaNQ >= 5.0) = double: true
+ 220.    ------------------- test value op NaNQ
+ 221.    -5.0 + NaNQ = float:  NaN
+ 222.    -5.0 - NaNQ = float:  NaN
+ 223.    -5.0 * NaNQ = float:  NaN
+ 224.    -5.0 / NaNQ = float:  NaN
+ 225.    -5.0 % NaNQ = float:  NaN
+ 226.    -5.0 + NaNQ = double: NaN
+ 227.    -5.0 - NaNQ = double: NaN
+ 228.    -5.0 * NaNQ = double: NaN
+ 229.    -5.0 / NaNQ = double: NaN
+ 230.    -5.0 % NaNQ = double: NaN
+ 231.     (-5.0 == NaNQ) = float: false
+ 232.     (-5.0 != NaNQ) = float: true
+ 233.     (-5.0 <  NaNQ) = float: false
+ 234.     (-5.0 <= NaNQ) = float: false
+ 235.     (-5.0 >  NaNQ) = float: false
+ 236.     (-5.0 >= NaNQ) = float: false
+ 237.    !(-5.0 == NaNQ) = float: true
+ 238.    !(-5.0 != NaNQ) = float: false
+ 239.    !(-5.0 <  NaNQ) = float: true
+ 240.    !(-5.0 <= NaNQ) = float: true
+ 241.    !(-5.0 >  NaNQ) = float: true
+ 242.    !(-5.0 >= NaNQ) = float: true
+ 243.     (-5.0 == NaNQ) = double: false
+ 244.     (-5.0 != NaNQ) = double: true
+ 245.     (-5.0 <  NaNQ) = double: false
+ 246.     (-5.0 <= NaNQ) = double: false
+ 247.     (-5.0 >  NaNQ) = double: false
+ 248.     (-5.0 >= NaNQ) = double: false
+ 249.    !(-5.0 == NaNQ) = double: true
+ 250.    !(-5.0 != NaNQ) = double: false
+ 251.    !(-5.0 <  NaNQ) = double: true
+ 252.    !(-5.0 <= NaNQ) = double: true
+ 253.    !(-5.0 >  NaNQ) = double: true
+ 254.    !(-5.0 >= NaNQ) = double: true
+ 255.    -0.0 + NaNQ = float:  NaN
+ 256.    -0.0 - NaNQ = float:  NaN
+ 257.    -0.0 * NaNQ = float:  NaN
+ 258.    -0.0 / NaNQ = float:  NaN
+ 259.    -0.0 % NaNQ = float:  NaN
+ 260.    -0.0 + NaNQ = double: NaN
+ 261.    -0.0 - NaNQ = double: NaN
+ 262.    -0.0 * NaNQ = double: NaN
+ 263.    -0.0 / NaNQ = double: NaN
+ 264.    -0.0 % NaNQ = double: NaN
+ 265.     (-0.0 == NaNQ) = float: false
+ 266.     (-0.0 != NaNQ) = float: true
+ 267.     (-0.0 <  NaNQ) = float: false
+ 268.     (-0.0 <= NaNQ) = float: false
+ 269.     (-0.0 >  NaNQ) = float: false
+ 270.     (-0.0 >= NaNQ) = float: false
+ 271.    !(-0.0 == NaNQ) = float: true
+ 272.    !(-0.0 != NaNQ) = float: false
+ 273.    !(-0.0 <  NaNQ) = float: true
+ 274.    !(-0.0 <= NaNQ) = float: true
+ 275.    !(-0.0 >  NaNQ) = float: true
+ 276.    !(-0.0 >= NaNQ) = float: true
+ 277.     (-0.0 == NaNQ) = double: false
+ 278.     (-0.0 != NaNQ) = double: true
+ 279.     (-0.0 <  NaNQ) = double: false
+ 280.     (-0.0 <= NaNQ) = double: false
+ 281.     (-0.0 >  NaNQ) = double: false
+ 282.     (-0.0 >= NaNQ) = double: false
+ 283.    !(-0.0 == NaNQ) = double: true
+ 284.    !(-0.0 != NaNQ) = double: false
+ 285.    !(-0.0 <  NaNQ) = double: true
+ 286.    !(-0.0 <= NaNQ) = double: true
+ 287.    !(-0.0 >  NaNQ) = double: true
+ 288.    !(-0.0 >= NaNQ) = double: true
+ 289.    0.0 + NaNQ = float:  NaN
+ 290.    0.0 - NaNQ = float:  NaN
+ 291.    0.0 * NaNQ = float:  NaN
+ 292.    0.0 / NaNQ = float:  NaN
+ 293.    0.0 % NaNQ = float:  NaN
+ 294.    0.0 + NaNQ = double: NaN
+ 295.    0.0 - NaNQ = double: NaN
+ 296.    0.0 * NaNQ = double: NaN
+ 297.    0.0 / NaNQ = double: NaN
+ 298.    0.0 % NaNQ = double: NaN
+ 299.     (0.0 == NaNQ) = float: false
+ 300.     (0.0 != NaNQ) = float: true
+ 301.     (0.0 <  NaNQ) = float: false
+ 302.     (0.0 <= NaNQ) = float: false
+ 303.     (0.0 >  NaNQ) = float: false
+ 304.     (0.0 >= NaNQ) = float: false
+ 305.    !(0.0 == NaNQ) = float: true
+ 306.    !(0.0 != NaNQ) = float: false
+ 307.    !(0.0 <  NaNQ) = float: true
+ 308.    !(0.0 <= NaNQ) = float: true
+ 309.    !(0.0 >  NaNQ) = float: true
+ 310.    !(0.0 >= NaNQ) = float: true
+ 311.     (0.0 == NaNQ) = double: false
+ 312.     (0.0 != NaNQ) = double: true
+ 313.     (0.0 <  NaNQ) = double: false
+ 314.     (0.0 <= NaNQ) = double: false
+ 315.     (0.0 >  NaNQ) = double: false
+ 316.     (0.0 >= NaNQ) = double: false
+ 317.    !(0.0 == NaNQ) = double: true
+ 318.    !(0.0 != NaNQ) = double: false
+ 319.    !(0.0 <  NaNQ) = double: true
+ 320.    !(0.0 <= NaNQ) = double: true
+ 321.    !(0.0 >  NaNQ) = double: true
+ 322.    !(0.0 >= NaNQ) = double: true
+ 323.    5.0 + NaNQ = float:  NaN
+ 324.    5.0 - NaNQ = float:  NaN
+ 325.    5.0 * NaNQ = float:  NaN
+ 326.    5.0 / NaNQ = float:  NaN
+ 327.    5.0 % NaNQ = float:  NaN
+ 328.    5.0 + NaNQ = double: NaN
+ 329.    5.0 - NaNQ = double: NaN
+ 330.    5.0 * NaNQ = double: NaN
+ 331.    5.0 / NaNQ = double: NaN
+ 332.    5.0 % NaNQ = double: NaN
+ 333.     (5.0 == NaNQ) = float: false
+ 334.     (5.0 != NaNQ) = float: true
+ 335.     (5.0 <  NaNQ) = float: false
+ 336.     (5.0 <= NaNQ) = float: false
+ 337.     (5.0 >  NaNQ) = float: false
+ 338.     (5.0 >= NaNQ) = float: false
+ 339.    !(5.0 == NaNQ) = float: true
+ 340.    !(5.0 != NaNQ) = float: false
+ 341.    !(5.0 <  NaNQ) = float: true
+ 342.    !(5.0 <= NaNQ) = float: true
+ 343.    !(5.0 >  NaNQ) = float: true
+ 344.    !(5.0 >= NaNQ) = float: true
+ 345.     (5.0 == NaNQ) = double: false
+ 346.     (5.0 != NaNQ) = double: true
+ 347.     (5.0 <  NaNQ) = double: false
+ 348.     (5.0 <= NaNQ) = double: false
+ 349.     (5.0 >  NaNQ) = double: false
+ 350.     (5.0 >= NaNQ) = double: false
+ 351.    !(5.0 == NaNQ) = double: true
+ 352.    !(5.0 != NaNQ) = double: false
+ 353.    !(5.0 <  NaNQ) = double: true
+ 354.    !(5.0 <= NaNQ) = double: true
+ 355.    !(5.0 >  NaNQ) = double: true
+ 356.    !(5.0 >= NaNQ) = double: true
+ 357.    ------------------- test +INF op value
+ 358.    +INF + -5.0 = float:  Infinity
+ 359.    +INF - -5.0 = float:  Infinity
+ 360.    +INF * -5.0 = float:  -Infinity
+ 361.    +INF / -5.0 = float:  -Infinity
+ 362.    +INF % -5.0 = float:  NaN
+ 363.    +INF + -5.0 = double: Infinity
+ 364.    +INF - -5.0 = double: Infinity
+ 365.    +INF * -5.0 = double: -Infinity
+ 366.    +INF / -5.0 = double: -Infinity
+ 367.    +INF % -5.0 = double: NaN
+ 368.     (+INF == -5.0) = float: false
+ 369.     (+INF != -5.0) = float: true
+ 370.     (+INF <  -5.0) = float: false
+ 371.     (+INF <= -5.0) = float: false
+ 372.     (+INF >  -5.0) = float: true
+ 373.     (+INF >= -5.0) = float: true
+ 374.    !(+INF == -5.0) = float: true
+ 375.    !(+INF != -5.0) = float: false
+ 376.    !(+INF <  -5.0) = float: true
+ 377.    !(+INF <= -5.0) = float: true
+ 378.    !(+INF >  -5.0) = float: false
+ 379.    !(+INF >= -5.0) = float: false
+ 380.     (+INF == -5.0) = double: false
+ 381.     (+INF != -5.0) = double: true
+ 382.     (+INF <  -5.0) = double: false
+ 383.     (+INF <= -5.0) = double: false
+ 384.     (+INF >  -5.0) = double: true
+ 385.     (+INF >= -5.0) = double: true
+ 386.    !(+INF == -5.0) = double: true
+ 387.    !(+INF != -5.0) = double: false
+ 388.    !(+INF <  -5.0) = double: true
+ 389.    !(+INF <= -5.0) = double: true
+ 390.    !(+INF >  -5.0) = double: false
+ 391.    !(+INF >= -5.0) = double: false
+ 392.    +INF + -0.0 = float:  Infinity
+ 393.    +INF - -0.0 = float:  Infinity
+ 394.    +INF * -0.0 = float:  NaN
+ 395.    +INF / -0.0 = float:  -Infinity
+ 396.    +INF % -0.0 = float:  NaN
+ 397.    +INF + -0.0 = double: Infinity
+ 398.    +INF - -0.0 = double: Infinity
+ 399.    +INF * -0.0 = double: NaN
+ 400.    +INF / -0.0 = double: -Infinity
+ 401.    +INF % -0.0 = double: NaN
+ 402.     (+INF == -0.0) = float: false
+ 403.     (+INF != -0.0) = float: true
+ 404.     (+INF <  -0.0) = float: false
+ 405.     (+INF <= -0.0) = float: false
+ 406.     (+INF >  -0.0) = float: true
+ 407.     (+INF >= -0.0) = float: true
+ 408.    !(+INF == -0.0) = float: true
+ 409.    !(+INF != -0.0) = float: false
+ 410.    !(+INF <  -0.0) = float: true
+ 411.    !(+INF <= -0.0) = float: true
+ 412.    !(+INF >  -0.0) = float: false
+ 413.    !(+INF >= -0.0) = float: false
+ 414.     (+INF == -0.0) = double: false
+ 415.     (+INF != -0.0) = double: true
+ 416.     (+INF <  -0.0) = double: false
+ 417.     (+INF <= -0.0) = double: false
+ 418.     (+INF >  -0.0) = double: true
+ 419.     (+INF >= -0.0) = double: true
+ 420.    !(+INF == -0.0) = double: true
+ 421.    !(+INF != -0.0) = double: false
+ 422.    !(+INF <  -0.0) = double: true
+ 423.    !(+INF <= -0.0) = double: true
+ 424.    !(+INF >  -0.0) = double: false
+ 425.    !(+INF >= -0.0) = double: false
+ 426.    +INF + 0.0 = float:  Infinity
+ 427.    +INF - 0.0 = float:  Infinity
+ 428.    +INF * 0.0 = float:  NaN
+ 429.    +INF / 0.0 = float:  Infinity
+ 430.    +INF % 0.0 = float:  NaN
+ 431.    +INF + 0.0 = double: Infinity
+ 432.    +INF - 0.0 = double: Infinity
+ 433.    +INF * 0.0 = double: NaN
+ 434.    +INF / 0.0 = double: Infinity
+ 435.    +INF % 0.0 = double: NaN
+ 436.     (+INF == 0.0) = float: false
+ 437.     (+INF != 0.0) = float: true
+ 438.     (+INF <  0.0) = float: false
+ 439.     (+INF <= 0.0) = float: false
+ 440.     (+INF >  0.0) = float: true
+ 441.     (+INF >= 0.0) = float: true
+ 442.    !(+INF == 0.0) = float: true
+ 443.    !(+INF != 0.0) = float: false
+ 444.    !(+INF <  0.0) = float: true
+ 445.    !(+INF <= 0.0) = float: true
+ 446.    !(+INF >  0.0) = float: false
+ 447.    !(+INF >= 0.0) = float: false
+ 448.     (+INF == 0.0) = double: false
+ 449.     (+INF != 0.0) = double: true
+ 450.     (+INF <  0.0) = double: false
+ 451.     (+INF <= 0.0) = double: false
+ 452.     (+INF >  0.0) = double: true
+ 453.     (+INF >= 0.0) = double: true
+ 454.    !(+INF == 0.0) = double: true
+ 455.    !(+INF != 0.0) = double: false
+ 456.    !(+INF <  0.0) = double: true
+ 457.    !(+INF <= 0.0) = double: true
+ 458.    !(+INF >  0.0) = double: false
+ 459.    !(+INF >= 0.0) = double: false
+ 460.    +INF + 5.0 = float:  Infinity
+ 461.    +INF - 5.0 = float:  Infinity
+ 462.    +INF * 5.0 = float:  Infinity
+ 463.    +INF / 5.0 = float:  Infinity
+ 464.    +INF % 5.0 = float:  NaN
+ 465.    +INF + 5.0 = double: Infinity
+ 466.    +INF - 5.0 = double: Infinity
+ 467.    +INF * 5.0 = double: Infinity
+ 468.    +INF / 5.0 = double: Infinity
+ 469.    +INF % 5.0 = double: NaN
+ 470.     (+INF == 5.0) = float: false
+ 471.     (+INF != 5.0) = float: true
+ 472.     (+INF <  5.0) = float: false
+ 473.     (+INF <= 5.0) = float: false
+ 474.     (+INF >  5.0) = float: true
+ 475.     (+INF >= 5.0) = float: true
+ 476.    !(+INF == 5.0) = float: true
+ 477.    !(+INF != 5.0) = float: false
+ 478.    !(+INF <  5.0) = float: true
+ 479.    !(+INF <= 5.0) = float: true
+ 480.    !(+INF >  5.0) = float: false
+ 481.    !(+INF >= 5.0) = float: false
+ 482.     (+INF == 5.0) = double: false
+ 483.     (+INF != 5.0) = double: true
+ 484.     (+INF <  5.0) = double: false
+ 485.     (+INF <= 5.0) = double: false
+ 486.     (+INF >  5.0) = double: true
+ 487.     (+INF >= 5.0) = double: true
+ 488.    !(+INF == 5.0) = double: true
+ 489.    !(+INF != 5.0) = double: false
+ 490.    !(+INF <  5.0) = double: true
+ 491.    !(+INF <= 5.0) = double: true
+ 492.    !(+INF >  5.0) = double: false
+ 493.    !(+INF >= 5.0) = double: false
+ 494.    ------------------- test +INF op value
+ 495.    -5.0 + +INF = float:  Infinity
+ 496.    -5.0 - +INF = float:  -Infinity
+ 497.    -5.0 * +INF = float:  -Infinity
+ 498.    -5.0 / +INF = float:  -0.0
+ 499.    -5.0 % +INF = float:  -5.0
+ 500.    -5.0 + +INF = double: Infinity
+ 501.    -5.0 - +INF = double: -Infinity
+ 502.    -5.0 * +INF = double: -Infinity
+ 503.    -5.0 / +INF = double: -0.0
+ 504.    -5.0 % +INF = double: -5.0
+ 505.     (-5.0 == +INF) = float: false
+ 506.     (-5.0 != +INF) = float: true
+ 507.     (-5.0 <  +INF) = float: true
+ 508.     (-5.0 <= +INF) = float: true
+ 509.     (-5.0 >  +INF) = float: false
+ 510.     (-5.0 >= +INF) = float: false
+ 511.    !(-5.0 == +INF) = float: true
+ 512.    !(-5.0 != +INF) = float: false
+ 513.    !(-5.0 <  +INF) = float: false
+ 514.    !(-5.0 <= +INF) = float: false
+ 515.    !(-5.0 >  +INF) = float: true
+ 516.    !(-5.0 >= +INF) = float: true
+ 517.     (-5.0 == +INF) = double: false
+ 518.     (-5.0 != +INF) = double: true
+ 519.     (-5.0 <  +INF) = double: true
+ 520.     (-5.0 <= +INF) = double: true
+ 521.     (-5.0 >  +INF) = double: false
+ 522.     (-5.0 >= +INF) = double: false
+ 523.    !(-5.0 == +INF) = double: true
+ 524.    !(-5.0 != +INF) = double: false
+ 525.    !(-5.0 <  +INF) = double: false
+ 526.    !(-5.0 <= +INF) = double: false
+ 527.    !(-5.0 >  +INF) = double: true
+ 528.    !(-5.0 >= +INF) = double: true
+ 529.    -0.0 + +INF = float:  Infinity
+ 530.    -0.0 - +INF = float:  -Infinity
+ 531.    -0.0 * +INF = float:  NaN
+ 532.    -0.0 / +INF = float:  -0.0
+ 533.    -0.0 % +INF = float:  -0.0
+ 534.    -0.0 + +INF = double: Infinity
+ 535.    -0.0 - +INF = double: -Infinity
+ 536.    -0.0 * +INF = double: NaN
+ 537.    -0.0 / +INF = double: -0.0
+ 538.    -0.0 % +INF = double: -0.0
+ 539.     (-0.0 == +INF) = float: false
+ 540.     (-0.0 != +INF) = float: true
+ 541.     (-0.0 <  +INF) = float: true
+ 542.     (-0.0 <= +INF) = float: true
+ 543.     (-0.0 >  +INF) = float: false
+ 544.     (-0.0 >= +INF) = float: false
+ 545.    !(-0.0 == +INF) = float: true
+ 546.    !(-0.0 != +INF) = float: false
+ 547.    !(-0.0 <  +INF) = float: false
+ 548.    !(-0.0 <= +INF) = float: false
+ 549.    !(-0.0 >  +INF) = float: true
+ 550.    !(-0.0 >= +INF) = float: true
+ 551.     (-0.0 == +INF) = double: false
+ 552.     (-0.0 != +INF) = double: true
+ 553.     (-0.0 <  +INF) = double: true
+ 554.     (-0.0 <= +INF) = double: true
+ 555.     (-0.0 >  +INF) = double: false
+ 556.     (-0.0 >= +INF) = double: false
+ 557.    !(-0.0 == +INF) = double: true
+ 558.    !(-0.0 != +INF) = double: false
+ 559.    !(-0.0 <  +INF) = double: false
+ 560.    !(-0.0 <= +INF) = double: false
+ 561.    !(-0.0 >  +INF) = double: true
+ 562.    !(-0.0 >= +INF) = double: true
+ 563.    0.0 + +INF = float:  Infinity
+ 564.    0.0 - +INF = float:  -Infinity
+ 565.    0.0 * +INF = float:  NaN
+ 566.    0.0 / +INF = float:  0.0
+ 567.    0.0 % +INF = float:  0.0
+ 568.    0.0 + +INF = double: Infinity
+ 569.    0.0 - +INF = double: -Infinity
+ 570.    0.0 * +INF = double: NaN
+ 571.    0.0 / +INF = double: 0.0
+ 572.    0.0 % +INF = double: 0.0
+ 573.     (0.0 == +INF) = float: false
+ 574.     (0.0 != +INF) = float: true
+ 575.     (0.0 <  +INF) = float: true
+ 576.     (0.0 <= +INF) = float: true
+ 577.     (0.0 >  +INF) = float: false
+ 578.     (0.0 >= +INF) = float: false
+ 579.    !(0.0 == +INF) = float: true
+ 580.    !(0.0 != +INF) = float: false
+ 581.    !(0.0 <  +INF) = float: false
+ 582.    !(0.0 <= +INF) = float: false
+ 583.    !(0.0 >  +INF) = float: true
+ 584.    !(0.0 >= +INF) = float: true
+ 585.     (0.0 == +INF) = double: false
+ 586.     (0.0 != +INF) = double: true
+ 587.     (0.0 <  +INF) = double: true
+ 588.     (0.0 <= +INF) = double: true
+ 589.     (0.0 >  +INF) = double: false
+ 590.     (0.0 >= +INF) = double: false
+ 591.    !(0.0 == +INF) = double: true
+ 592.    !(0.0 != +INF) = double: false
+ 593.    !(0.0 <  +INF) = double: false
+ 594.    !(0.0 <= +INF) = double: false
+ 595.    !(0.0 >  +INF) = double: true
+ 596.    !(0.0 >= +INF) = double: true
+ 597.    5.0 + +INF = float:  Infinity
+ 598.    5.0 - +INF = float:  -Infinity
+ 599.    5.0 * +INF = float:  Infinity
+ 600.    5.0 / +INF = float:  0.0
+ 601.    5.0 % +INF = float:  5.0
+ 602.    5.0 + +INF = double: Infinity
+ 603.    5.0 - +INF = double: -Infinity
+ 604.    5.0 * +INF = double: Infinity
+ 605.    5.0 / +INF = double: 0.0
+ 606.    5.0 % +INF = double: 5.0
+ 607.     (5.0 == +INF) = float: false
+ 608.     (5.0 != +INF) = float: true
+ 609.     (5.0 <  +INF) = float: true
+ 610.     (5.0 <= +INF) = float: true
+ 611.     (5.0 >  +INF) = float: false
+ 612.     (5.0 >= +INF) = float: false
+ 613.    !(5.0 == +INF) = float: true
+ 614.    !(5.0 != +INF) = float: false
+ 615.    !(5.0 <  +INF) = float: false
+ 616.    !(5.0 <= +INF) = float: false
+ 617.    !(5.0 >  +INF) = float: true
+ 618.    !(5.0 >= +INF) = float: true
+ 619.     (5.0 == +INF) = double: false
+ 620.     (5.0 != +INF) = double: true
+ 621.     (5.0 <  +INF) = double: true
+ 622.     (5.0 <= +INF) = double: true
+ 623.     (5.0 >  +INF) = double: false
+ 624.     (5.0 >= +INF) = double: false
+ 625.    !(5.0 == +INF) = double: true
+ 626.    !(5.0 != +INF) = double: false
+ 627.    !(5.0 <  +INF) = double: false
+ 628.    !(5.0 <= +INF) = double: false
+ 629.    !(5.0 >  +INF) = double: true
+ 630.    !(5.0 >= +INF) = double: true
+ 631.    ------------------- test -INF op value
+ 632.    -INF + -5.0 = float:  -Infinity
+ 633.    -INF - -5.0 = float:  -Infinity
+ 634.    -INF * -5.0 = float:  Infinity
+ 635.    -INF / -5.0 = float:  Infinity
+ 636.    -INF % -5.0 = float:  NaN
+ 637.    -INF + -5.0 = double: -Infinity
+ 638.    -INF - -5.0 = double: -Infinity
+ 639.    -INF * -5.0 = double: Infinity
+ 640.    -INF / -5.0 = double: Infinity
+ 641.    -INF % -5.0 = double: NaN
+ 642.     (-INF == -5.0) = float: false
+ 643.     (-INF != -5.0) = float: true
+ 644.     (-INF <  -5.0) = float: true
+ 645.     (-INF <= -5.0) = float: true
+ 646.     (-INF >  -5.0) = float: false
+ 647.     (-INF >= -5.0) = float: false
+ 648.    !(-INF == -5.0) = float: true
+ 649.    !(-INF != -5.0) = float: false
+ 650.    !(-INF <  -5.0) = float: false
+ 651.    !(-INF <= -5.0) = float: false
+ 652.    !(-INF >  -5.0) = float: true
+ 653.    !(-INF >= -5.0) = float: true
+ 654.     (-INF == -5.0) = double: false
+ 655.     (-INF != -5.0) = double: true
+ 656.     (-INF <  -5.0) = double: true
+ 657.     (-INF <= -5.0) = double: true
+ 658.     (-INF >  -5.0) = double: false
+ 659.     (-INF >= -5.0) = double: false
+ 660.    !(-INF == -5.0) = double: true
+ 661.    !(-INF != -5.0) = double: false
+ 662.    !(-INF <  -5.0) = double: false
+ 663.    !(-INF <= -5.0) = double: false
+ 664.    !(-INF >  -5.0) = double: true
+ 665.    !(-INF >= -5.0) = double: true
+ 666.    -INF + -0.0 = float:  -Infinity
+ 667.    -INF - -0.0 = float:  -Infinity
+ 668.    -INF * -0.0 = float:  NaN
+ 669.    -INF / -0.0 = float:  Infinity
+ 670.    -INF % -0.0 = float:  NaN
+ 671.    -INF + -0.0 = double: -Infinity
+ 672.    -INF - -0.0 = double: -Infinity
+ 673.    -INF * -0.0 = double: NaN
+ 674.    -INF / -0.0 = double: Infinity
+ 675.    -INF % -0.0 = double: NaN
+ 676.     (-INF == -0.0) = float: false
+ 677.     (-INF != -0.0) = float: true
+ 678.     (-INF <  -0.0) = float: true
+ 679.     (-INF <= -0.0) = float: true
+ 680.     (-INF >  -0.0) = float: false
+ 681.     (-INF >= -0.0) = float: false
+ 682.    !(-INF == -0.0) = float: true
+ 683.    !(-INF != -0.0) = float: false
+ 684.    !(-INF <  -0.0) = float: false
+ 685.    !(-INF <= -0.0) = float: false
+ 686.    !(-INF >  -0.0) = float: true
+ 687.    !(-INF >= -0.0) = float: true
+ 688.     (-INF == -0.0) = double: false
+ 689.     (-INF != -0.0) = double: true
+ 690.     (-INF <  -0.0) = double: true
+ 691.     (-INF <= -0.0) = double: true
+ 692.     (-INF >  -0.0) = double: false
+ 693.     (-INF >= -0.0) = double: false
+ 694.    !(-INF == -0.0) = double: true
+ 695.    !(-INF != -0.0) = double: false
+ 696.    !(-INF <  -0.0) = double: false
+ 697.    !(-INF <= -0.0) = double: false
+ 698.    !(-INF >  -0.0) = double: true
+ 699.    !(-INF >= -0.0) = double: true
+ 700.    -INF + 0.0 = float:  -Infinity
+ 701.    -INF - 0.0 = float:  -Infinity
+ 702.    -INF * 0.0 = float:  NaN
+ 703.    -INF / 0.0 = float:  -Infinity
+ 704.    -INF % 0.0 = float:  NaN
+ 705.    -INF + 0.0 = double: -Infinity
+ 706.    -INF - 0.0 = double: -Infinity
+ 707.    -INF * 0.0 = double: NaN
+ 708.    -INF / 0.0 = double: -Infinity
+ 709.    -INF % 0.0 = double: NaN
+ 710.     (-INF == 0.0) = float: false
+ 711.     (-INF != 0.0) = float: true
+ 712.     (-INF <  0.0) = float: true
+ 713.     (-INF <= 0.0) = float: true
+ 714.     (-INF >  0.0) = float: false
+ 715.     (-INF >= 0.0) = float: false
+ 716.    !(-INF == 0.0) = float: true
+ 717.    !(-INF != 0.0) = float: false
+ 718.    !(-INF <  0.0) = float: false
+ 719.    !(-INF <= 0.0) = float: false
+ 720.    !(-INF >  0.0) = float: true
+ 721.    !(-INF >= 0.0) = float: true
+ 722.     (-INF == 0.0) = double: false
+ 723.     (-INF != 0.0) = double: true
+ 724.     (-INF <  0.0) = double: true
+ 725.     (-INF <= 0.0) = double: true
+ 726.     (-INF >  0.0) = double: false
+ 727.     (-INF >= 0.0) = double: false
+ 728.    !(-INF == 0.0) = double: true
+ 729.    !(-INF != 0.0) = double: false
+ 730.    !(-INF <  0.0) = double: false
+ 731.    !(-INF <= 0.0) = double: false
+ 732.    !(-INF >  0.0) = double: true
+ 733.    !(-INF >= 0.0) = double: true
+ 734.    -INF + 5.0 = float:  -Infinity
+ 735.    -INF - 5.0 = float:  -Infinity
+ 736.    -INF * 5.0 = float:  -Infinity
+ 737.    -INF / 5.0 = float:  -Infinity
+ 738.    -INF % 5.0 = float:  NaN
+ 739.    -INF + 5.0 = double: -Infinity
+ 740.    -INF - 5.0 = double: -Infinity
+ 741.    -INF * 5.0 = double: -Infinity
+ 742.    -INF / 5.0 = double: -Infinity
+ 743.    -INF % 5.0 = double: NaN
+ 744.     (-INF == 5.0) = float: false
+ 745.     (-INF != 5.0) = float: true
+ 746.     (-INF <  5.0) = float: true
+ 747.     (-INF <= 5.0) = float: true
+ 748.     (-INF >  5.0) = float: false
+ 749.     (-INF >= 5.0) = float: false
+ 750.    !(-INF == 5.0) = float: true
+ 751.    !(-INF != 5.0) = float: false
+ 752.    !(-INF <  5.0) = float: false
+ 753.    !(-INF <= 5.0) = float: false
+ 754.    !(-INF >  5.0) = float: true
+ 755.    !(-INF >= 5.0) = float: true
+ 756.     (-INF == 5.0) = double: false
+ 757.     (-INF != 5.0) = double: true
+ 758.     (-INF <  5.0) = double: true
+ 759.     (-INF <= 5.0) = double: true
+ 760.     (-INF >  5.0) = double: false
+ 761.     (-INF >= 5.0) = double: false
+ 762.    !(-INF == 5.0) = double: true
+ 763.    !(-INF != 5.0) = double: false
+ 764.    !(-INF <  5.0) = double: false
+ 765.    !(-INF <= 5.0) = double: false
+ 766.    !(-INF >  5.0) = double: true
+ 767.    !(-INF >= 5.0) = double: true
+ 768.    ------------------- test -INF op value
+ 769.    -5.0 + -INF = float:  -Infinity
+ 770.    -5.0 - -INF = float:  Infinity
+ 771.    -5.0 * -INF = float:  Infinity
+ 772.    -5.0 / -INF = float:  0.0
+ 773.    -5.0 % -INF = float:  -5.0
+ 774.    -5.0 + -INF = double: -Infinity
+ 775.    -5.0 - -INF = double: Infinity
+ 776.    -5.0 * -INF = double: Infinity
+ 777.    -5.0 / -INF = double: 0.0
+ 778.    -5.0 % -INF = double: -5.0
+ 779.     (-5.0 == -INF) = float: false
+ 780.     (-5.0 != -INF) = float: true
+ 781.     (-5.0 <  -INF) = float: false
+ 782.     (-5.0 <= -INF) = float: false
+ 783.     (-5.0 >  -INF) = float: true
+ 784.     (-5.0 >= -INF) = float: true
+ 785.    !(-5.0 == -INF) = float: true
+ 786.    !(-5.0 != -INF) = float: false
+ 787.    !(-5.0 <  -INF) = float: true
+ 788.    !(-5.0 <= -INF) = float: true
+ 789.    !(-5.0 >  -INF) = float: false
+ 790.    !(-5.0 >= -INF) = float: false
+ 791.     (-5.0 == -INF) = double: false
+ 792.     (-5.0 != -INF) = double: true
+ 793.     (-5.0 <  -INF) = double: false
+ 794.     (-5.0 <= -INF) = double: false
+ 795.     (-5.0 >  -INF) = double: true
+ 796.     (-5.0 >= -INF) = double: true
+ 797.    !(-5.0 == -INF) = double: true
+ 798.    !(-5.0 != -INF) = double: false
+ 799.    !(-5.0 <  -INF) = double: true
+ 800.    !(-5.0 <= -INF) = double: true
+ 801.    !(-5.0 >  -INF) = double: false
+ 802.    !(-5.0 >= -INF) = double: false
+ 803.    -0.0 + -INF = float:  -Infinity
+ 804.    -0.0 - -INF = float:  Infinity
+ 805.    -0.0 * -INF = float:  NaN
+ 806.    -0.0 / -INF = float:  0.0
+ 807.    -0.0 % -INF = float:  -0.0
+ 808.    -0.0 + -INF = double: -Infinity
+ 809.    -0.0 - -INF = double: Infinity
+ 810.    -0.0 * -INF = double: NaN
+ 811.    -0.0 / -INF = double: 0.0
+ 812.    -0.0 % -INF = double: -0.0
+ 813.     (-0.0 == -INF) = float: false
+ 814.     (-0.0 != -INF) = float: true
+ 815.     (-0.0 <  -INF) = float: false
+ 816.     (-0.0 <= -INF) = float: false
+ 817.     (-0.0 >  -INF) = float: true
+ 818.     (-0.0 >= -INF) = float: true
+ 819.    !(-0.0 == -INF) = float: true
+ 820.    !(-0.0 != -INF) = float: false
+ 821.    !(-0.0 <  -INF) = float: true
+ 822.    !(-0.0 <= -INF) = float: true
+ 823.    !(-0.0 >  -INF) = float: false
+ 824.    !(-0.0 >= -INF) = float: false
+ 825.     (-0.0 == -INF) = double: false
+ 826.     (-0.0 != -INF) = double: true
+ 827.     (-0.0 <  -INF) = double: false
+ 828.     (-0.0 <= -INF) = double: false
+ 829.     (-0.0 >  -INF) = double: true
+ 830.     (-0.0 >= -INF) = double: true
+ 831.    !(-0.0 == -INF) = double: true
+ 832.    !(-0.0 != -INF) = double: false
+ 833.    !(-0.0 <  -INF) = double: true
+ 834.    !(-0.0 <= -INF) = double: true
+ 835.    !(-0.0 >  -INF) = double: false
+ 836.    !(-0.0 >= -INF) = double: false
+ 837.    0.0 + -INF = float:  -Infinity
+ 838.    0.0 - -INF = float:  Infinity
+ 839.    0.0 * -INF = float:  NaN
+ 840.    0.0 / -INF = float:  -0.0
+ 841.    0.0 % -INF = float:  0.0
+ 842.    0.0 + -INF = double: -Infinity
+ 843.    0.0 - -INF = double: Infinity
+ 844.    0.0 * -INF = double: NaN
+ 845.    0.0 / -INF = double: -0.0
+ 846.    0.0 % -INF = double: 0.0
+ 847.     (0.0 == -INF) = float: false
+ 848.     (0.0 != -INF) = float: true
+ 849.     (0.0 <  -INF) = float: false
+ 850.     (0.0 <= -INF) = float: false
+ 851.     (0.0 >  -INF) = float: true
+ 852.     (0.0 >= -INF) = float: true
+ 853.    !(0.0 == -INF) = float: true
+ 854.    !(0.0 != -INF) = float: false
+ 855.    !(0.0 <  -INF) = float: true
+ 856.    !(0.0 <= -INF) = float: true
+ 857.    !(0.0 >  -INF) = float: false
+ 858.    !(0.0 >= -INF) = float: false
+ 859.     (0.0 == -INF) = double: false
+ 860.     (0.0 != -INF) = double: true
+ 861.     (0.0 <  -INF) = double: false
+ 862.     (0.0 <= -INF) = double: false
+ 863.     (0.0 >  -INF) = double: true
+ 864.     (0.0 >= -INF) = double: true
+ 865.    !(0.0 == -INF) = double: true
+ 866.    !(0.0 != -INF) = double: false
+ 867.    !(0.0 <  -INF) = double: true
+ 868.    !(0.0 <= -INF) = double: true
+ 869.    !(0.0 >  -INF) = double: false
+ 870.    !(0.0 >= -INF) = double: false
+ 871.    5.0 + -INF = float:  -Infinity
+ 872.    5.0 - -INF = float:  Infinity
+ 873.    5.0 * -INF = float:  -Infinity
+ 874.    5.0 / -INF = float:  -0.0
+ 875.    5.0 % -INF = float:  5.0
+ 876.    5.0 + -INF = double: -Infinity
+ 877.    5.0 - -INF = double: Infinity
+ 878.    5.0 * -INF = double: -Infinity
+ 879.    5.0 / -INF = double: -0.0
+ 880.    5.0 % -INF = double: 5.0
+ 881.     (5.0 == -INF) = float: false
+ 882.     (5.0 != -INF) = float: true
+ 883.     (5.0 <  -INF) = float: false
+ 884.     (5.0 <= -INF) = float: false
+ 885.     (5.0 >  -INF) = float: true
+ 886.     (5.0 >= -INF) = float: true
+ 887.    !(5.0 == -INF) = float: true
+ 888.    !(5.0 != -INF) = float: false
+ 889.    !(5.0 <  -INF) = float: true
+ 890.    !(5.0 <= -INF) = float: true
+ 891.    !(5.0 >  -INF) = float: false
+ 892.    !(5.0 >= -INF) = float: false
+ 893.     (5.0 == -INF) = double: false
+ 894.     (5.0 != -INF) = double: true
+ 895.     (5.0 <  -INF) = double: false
+ 896.     (5.0 <= -INF) = double: false
+ 897.     (5.0 >  -INF) = double: true
+ 898.     (5.0 >= -INF) = double: true
+ 899.    !(5.0 == -INF) = double: true
+ 900.    !(5.0 != -INF) = double: false
+ 901.    !(5.0 <  -INF) = double: true
+ 902.    !(5.0 <= -INF) = double: true
+ 903.    !(5.0 >  -INF) = double: false
+ 904.    !(5.0 >= -INF) = double: false
+ 905.    ------------------- test MAX op value
+ 906.    MAX + 5.0 = float:  3.4028235E38
+ 907.    MAX - 5.0 = float:  3.4028235E38
+ 908.    MAX * 5.0 = float:  Infinity
+ 909.    MAX / 5.0 = float:  6.805647E37
+ 910.    MAX % 5.0 = float:  0.0
+ 911.    MAX + 5.0 = double: 1.7976931348623157E308
+ 912.    MAX - 5.0 = double: 1.7976931348623157E308
+ 913.    MAX * 5.0 = double: Infinity
+ 914.    MAX / 5.0 = double: 3.5953862697246315E307
+ 915.    MAX % 5.0 = double: 3.0
+ 916.    ------------------- test value op MAX
+ 917.    5.0 + MAX = float:  3.4028235E38
+ 918.    5.0 - MAX = float:  -3.4028235E38
+ 919.    5.0 * MAX = float:  Infinity
+ 920.    5.0 / MAX = float:  1.4693681E-38
+ 921.    5.0 % MAX = float:  5.0
+ 922.    5.0 + MAX = double: 1.7976931348623157E308
+ 923.    5.0 - MAX = double: -1.7976931348623157E308
+ 924.    5.0 * MAX = double: Infinity
+ 925.    5.0 / MAX = double: 2.781342323134002E-308
+ 926.    5.0 % MAX = double: 5.0
+ 927.    ------------------- test MIN op value
+ 928.    MIN + 5.0 = float:  5.0
+ 929.    MIN - 5.0 = float:  -5.0
+ 930.    MIN * 5.0 = float:  7.0E-45
+ 931.    MIN / 5.0 = float:  0.0
+ 932.    MIN % 5.0 = float:  1.4E-45
+ 933.    MIN + 5.0 = double: 5.0
+ 934.    MIN - 5.0 = double: -5.0
+ 935.    MIN * 5.0 = double: 2.5E-323
+ 936.    MIN / 5.0 = double: 0.0
+ 937.    MIN % 5.0 = double: 4.9E-324
+ 938.    ------------------- test value op MIN
+ 939.    5.0 + MIN = float:  5.0
+ 940.    5.0 - MIN = float:  5.0
+ 941.    5.0 * MIN = float:  7.0E-45
+ 942.    5.0 / MIN = float:  Infinity
+ 943.    5.0 % MIN = float:  0.0
+ 944.    5.0 + MIN = double: 5.0
+ 945.    5.0 - MIN = double: 5.0
+ 946.    5.0 * MIN = double: 2.5E-323
+ 947.    5.0 / MIN = double: Infinity
+ 948.    5.0 % MIN = double: 0.0
+ 949.    
\ No newline at end of file
diff --git a/tests/regression/fptest.output.ojdk b/tests/regression/fptest.output.ojdk
new file mode 100644 (file)
index 0000000..4abb18c
--- /dev/null
@@ -0,0 +1,951 @@
+---------------------------- tests NaNs and Infs -------------------
+   0.    ------------------- print NaNs and Infs
+   1.    NaNQ float:  NaN
+   2.    +INF float:  Infinity
+   3.    -INF float:  -Infinity
+   4.    NaNQ double: NaN
+   5.    +INF double: Infinity
+   6.    -INF double: -Infinity
+   7.    ------------------- test zero division
+   8.    0 / 0 = NaNQ float:  NaN
+   9.    + / 0 = +INF float:  Infinity
+  10.    - / 0 = -INF float:  -Infinity
+  11.    0 / 0 = NaNQ double: NaN
+  12.    + / 0 = +INF double: Infinity
+  13.    - / 0 = -INF double: -Infinity
+  14.    ------------------- test conversions
+  15.    convert NaNQ (NaN,NaN) to int:    0
+  16.    convert NaNQ (NaN,NaN) to int:    0
+  17.    convert NaNQ (NaN,NaN) to long:   0
+  18.    convert NaNQ (NaN,NaN) to long:   0
+  19.    convert +INF (Infinity,Infinity) to int:    2147483647
+  20.    convert +INF (Infinity,Infinity) to int:    2147483647
+  21.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
+  22.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
+  23.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
+  24.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
+  25.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
+  26.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
+  27.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
+  28.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
+  29.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
+  30.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
+  31.    convert  MIN (1.4E-45,4.9E-324) to int:    0
+  32.    convert  MIN (1.4E-45,4.9E-324) to int:    0
+  33.    convert  MIN (1.4E-45,4.9E-324) to long:   0
+  34.    convert  MIN (1.4E-45,4.9E-324) to long:   0
+  35.    convert MAXINT-1 (2.14748365E9,2.147483646E9) to int:    2147483647
+  36.    convert MAXINT-1 (2.14748365E9,2.147483646E9) to int:    2147483646
+  37.    convert MAXINT-1 (2.14748365E9,2.147483646E9) to long:   2147483648
+  38.    convert MAXINT-1 (2.14748365E9,2.147483646E9) to long:   2147483646
+  39.    convert MAXINT+0 (2.14748365E9,2.147483647E9) to int:    2147483647
+  40.    convert MAXINT+0 (2.14748365E9,2.147483647E9) to int:    2147483647
+  41.    convert MAXINT+0 (2.14748365E9,2.147483647E9) to long:   2147483648
+  42.    convert MAXINT+0 (2.14748365E9,2.147483647E9) to long:   2147483647
+  43.    convert MAXINT+1 (2.14748365E9,2.147483648E9) to int:    2147483647
+  44.    convert MAXINT+1 (2.14748365E9,2.147483648E9) to int:    2147483647
+  45.    convert MAXINT+1 (2.14748365E9,2.147483648E9) to long:   2147483648
+  46.    convert MAXINT+1 (2.14748365E9,2.147483648E9) to long:   2147483648
+  47.    convert -MAXINT+1 (-2.14748365E9,-2.147483647E9) to int:    -2147483648
+  48.    convert -MAXINT+1 (-2.14748365E9,-2.147483647E9) to int:    -2147483647
+  49.    convert -MAXINT+1 (-2.14748365E9,-2.147483647E9) to long:   -2147483648
+  50.    convert -MAXINT+1 (-2.14748365E9,-2.147483647E9) to long:   -2147483647
+  51.    convert -MAXINT+0 (-2.14748365E9,-2.147483648E9) to int:    -2147483648
+  52.    convert -MAXINT+0 (-2.14748365E9,-2.147483648E9) to int:    -2147483648
+  53.    convert -MAXINT+0 (-2.14748365E9,-2.147483648E9) to long:   -2147483648
+  54.    convert -MAXINT+0 (-2.14748365E9,-2.147483648E9) to long:   -2147483648
+  55.    convert -MAXINT-1 (-2.14748365E9,-2.147483649E9) to int:    -2147483648
+  56.    convert -MAXINT-1 (-2.14748365E9,-2.147483649E9) to int:    -2147483648
+  57.    convert -MAXINT-1 (-2.14748365E9,-2.147483649E9) to long:   -2147483648
+  58.    convert -MAXINT-1 (-2.14748365E9,-2.147483649E9) to long:   -2147483649
+  59.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  60.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  61.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  62.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  63.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  64.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  65.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  66.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  67.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  68.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
+  69.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  70.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
+  71.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  72.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  73.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  74.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  75.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  76.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  77.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  78.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  79.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  80.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
+  81.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  82.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
+  83.    ------------------- test NaNQ op value
+  84.    NaNQ + -5.0 = float:  NaN
+  85.    NaNQ - -5.0 = float:  NaN
+  86.    NaNQ * -5.0 = float:  NaN
+  87.    NaNQ / -5.0 = float:  NaN
+  88.    NaNQ % -5.0 = float:  NaN
+  89.    NaNQ + -5.0 = double: NaN
+  90.    NaNQ - -5.0 = double: NaN
+  91.    NaNQ * -5.0 = double: NaN
+  92.    NaNQ / -5.0 = double: NaN
+  93.    NaNQ % -5.0 = double: NaN
+  94.     (NaNQ == -5.0) = float: false
+  95.     (NaNQ != -5.0) = float: true
+  96.     (NaNQ <  -5.0) = float: false
+  97.     (NaNQ <= -5.0) = float: false
+  98.     (NaNQ >  -5.0) = float: false
+  99.     (NaNQ >= -5.0) = float: false
+ 100.    !(NaNQ == -5.0) = float: true
+ 101.    !(NaNQ != -5.0) = float: false
+ 102.    !(NaNQ <  -5.0) = float: true
+ 103.    !(NaNQ <= -5.0) = float: true
+ 104.    !(NaNQ >  -5.0) = float: true
+ 105.    !(NaNQ >= -5.0) = float: true
+ 106.     (NaNQ == -5.0) = double: false
+ 107.     (NaNQ != -5.0) = double: true
+ 108.     (NaNQ <  -5.0) = double: false
+ 109.     (NaNQ <= -5.0) = double: false
+ 110.     (NaNQ >  -5.0) = double: false
+ 111.     (NaNQ >= -5.0) = double: false
+ 112.    !(NaNQ == -5.0) = double: true
+ 113.    !(NaNQ != -5.0) = double: false
+ 114.    !(NaNQ <  -5.0) = double: true
+ 115.    !(NaNQ <= -5.0) = double: true
+ 116.    !(NaNQ >  -5.0) = double: true
+ 117.    !(NaNQ >= -5.0) = double: true
+ 118.    NaNQ + -0.0 = float:  NaN
+ 119.    NaNQ - -0.0 = float:  NaN
+ 120.    NaNQ * -0.0 = float:  NaN
+ 121.    NaNQ / -0.0 = float:  NaN
+ 122.    NaNQ % -0.0 = float:  NaN
+ 123.    NaNQ + -0.0 = double: NaN
+ 124.    NaNQ - -0.0 = double: NaN
+ 125.    NaNQ * -0.0 = double: NaN
+ 126.    NaNQ / -0.0 = double: NaN
+ 127.    NaNQ % -0.0 = double: NaN
+ 128.     (NaNQ == -0.0) = float: false
+ 129.     (NaNQ != -0.0) = float: true
+ 130.     (NaNQ <  -0.0) = float: false
+ 131.     (NaNQ <= -0.0) = float: false
+ 132.     (NaNQ >  -0.0) = float: false
+ 133.     (NaNQ >= -0.0) = float: false
+ 134.    !(NaNQ == -0.0) = float: true
+ 135.    !(NaNQ != -0.0) = float: false
+ 136.    !(NaNQ <  -0.0) = float: true
+ 137.    !(NaNQ <= -0.0) = float: true
+ 138.    !(NaNQ >  -0.0) = float: true
+ 139.    !(NaNQ >= -0.0) = float: true
+ 140.     (NaNQ == -0.0) = double: false
+ 141.     (NaNQ != -0.0) = double: true
+ 142.     (NaNQ <  -0.0) = double: false
+ 143.     (NaNQ <= -0.0) = double: false
+ 144.     (NaNQ >  -0.0) = double: false
+ 145.     (NaNQ >= -0.0) = double: false
+ 146.    !(NaNQ == -0.0) = double: true
+ 147.    !(NaNQ != -0.0) = double: false
+ 148.    !(NaNQ <  -0.0) = double: true
+ 149.    !(NaNQ <= -0.0) = double: true
+ 150.    !(NaNQ >  -0.0) = double: true
+ 151.    !(NaNQ >= -0.0) = double: true
+ 152.    NaNQ + 0.0 = float:  NaN
+ 153.    NaNQ - 0.0 = float:  NaN
+ 154.    NaNQ * 0.0 = float:  NaN
+ 155.    NaNQ / 0.0 = float:  NaN
+ 156.    NaNQ % 0.0 = float:  NaN
+ 157.    NaNQ + 0.0 = double: NaN
+ 158.    NaNQ - 0.0 = double: NaN
+ 159.    NaNQ * 0.0 = double: NaN
+ 160.    NaNQ / 0.0 = double: NaN
+ 161.    NaNQ % 0.0 = double: NaN
+ 162.     (NaNQ == 0.0) = float: false
+ 163.     (NaNQ != 0.0) = float: true
+ 164.     (NaNQ <  0.0) = float: false
+ 165.     (NaNQ <= 0.0) = float: false
+ 166.     (NaNQ >  0.0) = float: false
+ 167.     (NaNQ >= 0.0) = float: false
+ 168.    !(NaNQ == 0.0) = float: true
+ 169.    !(NaNQ != 0.0) = float: false
+ 170.    !(NaNQ <  0.0) = float: true
+ 171.    !(NaNQ <= 0.0) = float: true
+ 172.    !(NaNQ >  0.0) = float: true
+ 173.    !(NaNQ >= 0.0) = float: true
+ 174.     (NaNQ == 0.0) = double: false
+ 175.     (NaNQ != 0.0) = double: true
+ 176.     (NaNQ <  0.0) = double: false
+ 177.     (NaNQ <= 0.0) = double: false
+ 178.     (NaNQ >  0.0) = double: false
+ 179.     (NaNQ >= 0.0) = double: false
+ 180.    !(NaNQ == 0.0) = double: true
+ 181.    !(NaNQ != 0.0) = double: false
+ 182.    !(NaNQ <  0.0) = double: true
+ 183.    !(NaNQ <= 0.0) = double: true
+ 184.    !(NaNQ >  0.0) = double: true
+ 185.    !(NaNQ >= 0.0) = double: true
+ 186.    NaNQ + 5.0 = float:  NaN
+ 187.    NaNQ - 5.0 = float:  NaN
+ 188.    NaNQ * 5.0 = float:  NaN
+ 189.    NaNQ / 5.0 = float:  NaN
+ 190.    NaNQ % 5.0 = float:  NaN
+ 191.    NaNQ + 5.0 = double: NaN
+ 192.    NaNQ - 5.0 = double: NaN
+ 193.    NaNQ * 5.0 = double: NaN
+ 194.    NaNQ / 5.0 = double: NaN
+ 195.    NaNQ % 5.0 = double: NaN
+ 196.     (NaNQ == 5.0) = float: false
+ 197.     (NaNQ != 5.0) = float: true
+ 198.     (NaNQ <  5.0) = float: false
+ 199.     (NaNQ <= 5.0) = float: false
+ 200.     (NaNQ >  5.0) = float: false
+ 201.     (NaNQ >= 5.0) = float: false
+ 202.    !(NaNQ == 5.0) = float: true
+ 203.    !(NaNQ != 5.0) = float: false
+ 204.    !(NaNQ <  5.0) = float: true
+ 205.    !(NaNQ <= 5.0) = float: true
+ 206.    !(NaNQ >  5.0) = float: true
+ 207.    !(NaNQ >= 5.0) = float: true
+ 208.     (NaNQ == 5.0) = double: false
+ 209.     (NaNQ != 5.0) = double: true
+ 210.     (NaNQ <  5.0) = double: false
+ 211.     (NaNQ <= 5.0) = double: false
+ 212.     (NaNQ >  5.0) = double: false
+ 213.     (NaNQ >= 5.0) = double: false
+ 214.    !(NaNQ == 5.0) = double: true
+ 215.    !(NaNQ != 5.0) = double: false
+ 216.    !(NaNQ <  5.0) = double: true
+ 217.    !(NaNQ <= 5.0) = double: true
+ 218.    !(NaNQ >  5.0) = double: true
+ 219.    !(NaNQ >= 5.0) = double: true
+ 220.    ------------------- test value op NaNQ
+ 221.    -5.0 + NaNQ = float:  NaN
+ 222.    -5.0 - NaNQ = float:  NaN
+ 223.    -5.0 * NaNQ = float:  NaN
+ 224.    -5.0 / NaNQ = float:  NaN
+ 225.    -5.0 % NaNQ = float:  NaN
+ 226.    -5.0 + NaNQ = double: NaN
+ 227.    -5.0 - NaNQ = double: NaN
+ 228.    -5.0 * NaNQ = double: NaN
+ 229.    -5.0 / NaNQ = double: NaN
+ 230.    -5.0 % NaNQ = double: NaN
+ 231.     (-5.0 == NaNQ) = float: false
+ 232.     (-5.0 != NaNQ) = float: true
+ 233.     (-5.0 <  NaNQ) = float: false
+ 234.     (-5.0 <= NaNQ) = float: false
+ 235.     (-5.0 >  NaNQ) = float: false
+ 236.     (-5.0 >= NaNQ) = float: false
+ 237.    !(-5.0 == NaNQ) = float: true
+ 238.    !(-5.0 != NaNQ) = float: false
+ 239.    !(-5.0 <  NaNQ) = float: true
+ 240.    !(-5.0 <= NaNQ) = float: true
+ 241.    !(-5.0 >  NaNQ) = float: true
+ 242.    !(-5.0 >= NaNQ) = float: true
+ 243.     (-5.0 == NaNQ) = double: false
+ 244.     (-5.0 != NaNQ) = double: true
+ 245.     (-5.0 <  NaNQ) = double: false
+ 246.     (-5.0 <= NaNQ) = double: false
+ 247.     (-5.0 >  NaNQ) = double: false
+ 248.     (-5.0 >= NaNQ) = double: false
+ 249.    !(-5.0 == NaNQ) = double: true
+ 250.    !(-5.0 != NaNQ) = double: false
+ 251.    !(-5.0 <  NaNQ) = double: true
+ 252.    !(-5.0 <= NaNQ) = double: true
+ 253.    !(-5.0 >  NaNQ) = double: true
+ 254.    !(-5.0 >= NaNQ) = double: true
+ 255.    -0.0 + NaNQ = float:  NaN
+ 256.    -0.0 - NaNQ = float:  NaN
+ 257.    -0.0 * NaNQ = float:  NaN
+ 258.    -0.0 / NaNQ = float:  NaN
+ 259.    -0.0 % NaNQ = float:  NaN
+ 260.    -0.0 + NaNQ = double: NaN
+ 261.    -0.0 - NaNQ = double: NaN
+ 262.    -0.0 * NaNQ = double: NaN
+ 263.    -0.0 / NaNQ = double: NaN
+ 264.    -0.0 % NaNQ = double: NaN
+ 265.     (-0.0 == NaNQ) = float: false
+ 266.     (-0.0 != NaNQ) = float: true
+ 267.     (-0.0 <  NaNQ) = float: false
+ 268.     (-0.0 <= NaNQ) = float: false
+ 269.     (-0.0 >  NaNQ) = float: false
+ 270.     (-0.0 >= NaNQ) = float: false
+ 271.    !(-0.0 == NaNQ) = float: true
+ 272.    !(-0.0 != NaNQ) = float: false
+ 273.    !(-0.0 <  NaNQ) = float: true
+ 274.    !(-0.0 <= NaNQ) = float: true
+ 275.    !(-0.0 >  NaNQ) = float: true
+ 276.    !(-0.0 >= NaNQ) = float: true
+ 277.     (-0.0 == NaNQ) = double: false
+ 278.     (-0.0 != NaNQ) = double: true
+ 279.     (-0.0 <  NaNQ) = double: false
+ 280.     (-0.0 <= NaNQ) = double: false
+ 281.     (-0.0 >  NaNQ) = double: false
+ 282.     (-0.0 >= NaNQ) = double: false
+ 283.    !(-0.0 == NaNQ) = double: true
+ 284.    !(-0.0 != NaNQ) = double: false
+ 285.    !(-0.0 <  NaNQ) = double: true
+ 286.    !(-0.0 <= NaNQ) = double: true
+ 287.    !(-0.0 >  NaNQ) = double: true
+ 288.    !(-0.0 >= NaNQ) = double: true
+ 289.    0.0 + NaNQ = float:  NaN
+ 290.    0.0 - NaNQ = float:  NaN
+ 291.    0.0 * NaNQ = float:  NaN
+ 292.    0.0 / NaNQ = float:  NaN
+ 293.    0.0 % NaNQ = float:  NaN
+ 294.    0.0 + NaNQ = double: NaN
+ 295.    0.0 - NaNQ = double: NaN
+ 296.    0.0 * NaNQ = double: NaN
+ 297.    0.0 / NaNQ = double: NaN
+ 298.    0.0 % NaNQ = double: NaN
+ 299.     (0.0 == NaNQ) = float: false
+ 300.     (0.0 != NaNQ) = float: true
+ 301.     (0.0 <  NaNQ) = float: false
+ 302.     (0.0 <= NaNQ) = float: false
+ 303.     (0.0 >  NaNQ) = float: false
+ 304.     (0.0 >= NaNQ) = float: false
+ 305.    !(0.0 == NaNQ) = float: true
+ 306.    !(0.0 != NaNQ) = float: false
+ 307.    !(0.0 <  NaNQ) = float: true
+ 308.    !(0.0 <= NaNQ) = float: true
+ 309.    !(0.0 >  NaNQ) = float: true
+ 310.    !(0.0 >= NaNQ) = float: true
+ 311.     (0.0 == NaNQ) = double: false
+ 312.     (0.0 != NaNQ) = double: true
+ 313.     (0.0 <  NaNQ) = double: false
+ 314.     (0.0 <= NaNQ) = double: false
+ 315.     (0.0 >  NaNQ) = double: false
+ 316.     (0.0 >= NaNQ) = double: false
+ 317.    !(0.0 == NaNQ) = double: true
+ 318.    !(0.0 != NaNQ) = double: false
+ 319.    !(0.0 <  NaNQ) = double: true
+ 320.    !(0.0 <= NaNQ) = double: true
+ 321.    !(0.0 >  NaNQ) = double: true
+ 322.    !(0.0 >= NaNQ) = double: true
+ 323.    5.0 + NaNQ = float:  NaN
+ 324.    5.0 - NaNQ = float:  NaN
+ 325.    5.0 * NaNQ = float:  NaN
+ 326.    5.0 / NaNQ = float:  NaN
+ 327.    5.0 % NaNQ = float:  NaN
+ 328.    5.0 + NaNQ = double: NaN
+ 329.    5.0 - NaNQ = double: NaN
+ 330.    5.0 * NaNQ = double: NaN
+ 331.    5.0 / NaNQ = double: NaN
+ 332.    5.0 % NaNQ = double: NaN
+ 333.     (5.0 == NaNQ) = float: false
+ 334.     (5.0 != NaNQ) = float: true
+ 335.     (5.0 <  NaNQ) = float: false
+ 336.     (5.0 <= NaNQ) = float: false
+ 337.     (5.0 >  NaNQ) = float: false
+ 338.     (5.0 >= NaNQ) = float: false
+ 339.    !(5.0 == NaNQ) = float: true
+ 340.    !(5.0 != NaNQ) = float: false
+ 341.    !(5.0 <  NaNQ) = float: true
+ 342.    !(5.0 <= NaNQ) = float: true
+ 343.    !(5.0 >  NaNQ) = float: true
+ 344.    !(5.0 >= NaNQ) = float: true
+ 345.     (5.0 == NaNQ) = double: false
+ 346.     (5.0 != NaNQ) = double: true
+ 347.     (5.0 <  NaNQ) = double: false
+ 348.     (5.0 <= NaNQ) = double: false
+ 349.     (5.0 >  NaNQ) = double: false
+ 350.     (5.0 >= NaNQ) = double: false
+ 351.    !(5.0 == NaNQ) = double: true
+ 352.    !(5.0 != NaNQ) = double: false
+ 353.    !(5.0 <  NaNQ) = double: true
+ 354.    !(5.0 <= NaNQ) = double: true
+ 355.    !(5.0 >  NaNQ) = double: true
+ 356.    !(5.0 >= NaNQ) = double: true
+ 357.    ------------------- test +INF op value
+ 358.    +INF + -5.0 = float:  Infinity
+ 359.    +INF - -5.0 = float:  Infinity
+ 360.    +INF * -5.0 = float:  -Infinity
+ 361.    +INF / -5.0 = float:  -Infinity
+ 362.    +INF % -5.0 = float:  NaN
+ 363.    +INF + -5.0 = double: Infinity
+ 364.    +INF - -5.0 = double: Infinity
+ 365.    +INF * -5.0 = double: -Infinity
+ 366.    +INF / -5.0 = double: -Infinity
+ 367.    +INF % -5.0 = double: NaN
+ 368.     (+INF == -5.0) = float: false
+ 369.     (+INF != -5.0) = float: true
+ 370.     (+INF <  -5.0) = float: false
+ 371.     (+INF <= -5.0) = float: false
+ 372.     (+INF >  -5.0) = float: true
+ 373.     (+INF >= -5.0) = float: true
+ 374.    !(+INF == -5.0) = float: true
+ 375.    !(+INF != -5.0) = float: false
+ 376.    !(+INF <  -5.0) = float: true
+ 377.    !(+INF <= -5.0) = float: true
+ 378.    !(+INF >  -5.0) = float: false
+ 379.    !(+INF >= -5.0) = float: false
+ 380.     (+INF == -5.0) = double: false
+ 381.     (+INF != -5.0) = double: true
+ 382.     (+INF <  -5.0) = double: false
+ 383.     (+INF <= -5.0) = double: false
+ 384.     (+INF >  -5.0) = double: true
+ 385.     (+INF >= -5.0) = double: true
+ 386.    !(+INF == -5.0) = double: true
+ 387.    !(+INF != -5.0) = double: false
+ 388.    !(+INF <  -5.0) = double: true
+ 389.    !(+INF <= -5.0) = double: true
+ 390.    !(+INF >  -5.0) = double: false
+ 391.    !(+INF >= -5.0) = double: false
+ 392.    +INF + -0.0 = float:  Infinity
+ 393.    +INF - -0.0 = float:  Infinity
+ 394.    +INF * -0.0 = float:  NaN
+ 395.    +INF / -0.0 = float:  -Infinity
+ 396.    +INF % -0.0 = float:  NaN
+ 397.    +INF + -0.0 = double: Infinity
+ 398.    +INF - -0.0 = double: Infinity
+ 399.    +INF * -0.0 = double: NaN
+ 400.    +INF / -0.0 = double: -Infinity
+ 401.    +INF % -0.0 = double: NaN
+ 402.     (+INF == -0.0) = float: false
+ 403.     (+INF != -0.0) = float: true
+ 404.     (+INF <  -0.0) = float: false
+ 405.     (+INF <= -0.0) = float: false
+ 406.     (+INF >  -0.0) = float: true
+ 407.     (+INF >= -0.0) = float: true
+ 408.    !(+INF == -0.0) = float: true
+ 409.    !(+INF != -0.0) = float: false
+ 410.    !(+INF <  -0.0) = float: true
+ 411.    !(+INF <= -0.0) = float: true
+ 412.    !(+INF >  -0.0) = float: false
+ 413.    !(+INF >= -0.0) = float: false
+ 414.     (+INF == -0.0) = double: false
+ 415.     (+INF != -0.0) = double: true
+ 416.     (+INF <  -0.0) = double: false
+ 417.     (+INF <= -0.0) = double: false
+ 418.     (+INF >  -0.0) = double: true
+ 419.     (+INF >= -0.0) = double: true
+ 420.    !(+INF == -0.0) = double: true
+ 421.    !(+INF != -0.0) = double: false
+ 422.    !(+INF <  -0.0) = double: true
+ 423.    !(+INF <= -0.0) = double: true
+ 424.    !(+INF >  -0.0) = double: false
+ 425.    !(+INF >= -0.0) = double: false
+ 426.    +INF + 0.0 = float:  Infinity
+ 427.    +INF - 0.0 = float:  Infinity
+ 428.    +INF * 0.0 = float:  NaN
+ 429.    +INF / 0.0 = float:  Infinity
+ 430.    +INF % 0.0 = float:  NaN
+ 431.    +INF + 0.0 = double: Infinity
+ 432.    +INF - 0.0 = double: Infinity
+ 433.    +INF * 0.0 = double: NaN
+ 434.    +INF / 0.0 = double: Infinity
+ 435.    +INF % 0.0 = double: NaN
+ 436.     (+INF == 0.0) = float: false
+ 437.     (+INF != 0.0) = float: true
+ 438.     (+INF <  0.0) = float: false
+ 439.     (+INF <= 0.0) = float: false
+ 440.     (+INF >  0.0) = float: true
+ 441.     (+INF >= 0.0) = float: true
+ 442.    !(+INF == 0.0) = float: true
+ 443.    !(+INF != 0.0) = float: false
+ 444.    !(+INF <  0.0) = float: true
+ 445.    !(+INF <= 0.0) = float: true
+ 446.    !(+INF >  0.0) = float: false
+ 447.    !(+INF >= 0.0) = float: false
+ 448.     (+INF == 0.0) = double: false
+ 449.     (+INF != 0.0) = double: true
+ 450.     (+INF <  0.0) = double: false
+ 451.     (+INF <= 0.0) = double: false
+ 452.     (+INF >  0.0) = double: true
+ 453.     (+INF >= 0.0) = double: true
+ 454.    !(+INF == 0.0) = double: true
+ 455.    !(+INF != 0.0) = double: false
+ 456.    !(+INF <  0.0) = double: true
+ 457.    !(+INF <= 0.0) = double: true
+ 458.    !(+INF >  0.0) = double: false
+ 459.    !(+INF >= 0.0) = double: false
+ 460.    +INF + 5.0 = float:  Infinity
+ 461.    +INF - 5.0 = float:  Infinity
+ 462.    +INF * 5.0 = float:  Infinity
+ 463.    +INF / 5.0 = float:  Infinity
+ 464.    +INF % 5.0 = float:  NaN
+ 465.    +INF + 5.0 = double: Infinity
+ 466.    +INF - 5.0 = double: Infinity
+ 467.    +INF * 5.0 = double: Infinity
+ 468.    +INF / 5.0 = double: Infinity
+ 469.    +INF % 5.0 = double: NaN
+ 470.     (+INF == 5.0) = float: false
+ 471.     (+INF != 5.0) = float: true
+ 472.     (+INF <  5.0) = float: false
+ 473.     (+INF <= 5.0) = float: false
+ 474.     (+INF >  5.0) = float: true
+ 475.     (+INF >= 5.0) = float: true
+ 476.    !(+INF == 5.0) = float: true
+ 477.    !(+INF != 5.0) = float: false
+ 478.    !(+INF <  5.0) = float: true
+ 479.    !(+INF <= 5.0) = float: true
+ 480.    !(+INF >  5.0) = float: false
+ 481.    !(+INF >= 5.0) = float: false
+ 482.     (+INF == 5.0) = double: false
+ 483.     (+INF != 5.0) = double: true
+ 484.     (+INF <  5.0) = double: false
+ 485.     (+INF <= 5.0) = double: false
+ 486.     (+INF >  5.0) = double: true
+ 487.     (+INF >= 5.0) = double: true
+ 488.    !(+INF == 5.0) = double: true
+ 489.    !(+INF != 5.0) = double: false
+ 490.    !(+INF <  5.0) = double: true
+ 491.    !(+INF <= 5.0) = double: true
+ 492.    !(+INF >  5.0) = double: false
+ 493.    !(+INF >= 5.0) = double: false
+ 494.    ------------------- test +INF op value
+ 495.    -5.0 + +INF = float:  Infinity
+ 496.    -5.0 - +INF = float:  -Infinity
+ 497.    -5.0 * +INF = float:  -Infinity
+ 498.    -5.0 / +INF = float:  -0.0
+ 499.    -5.0 % +INF = float:  -5.0
+ 500.    -5.0 + +INF = double: Infinity
+ 501.    -5.0 - +INF = double: -Infinity
+ 502.    -5.0 * +INF = double: -Infinity
+ 503.    -5.0 / +INF = double: -0.0
+ 504.    -5.0 % +INF = double: -5.0
+ 505.     (-5.0 == +INF) = float: false
+ 506.     (-5.0 != +INF) = float: true
+ 507.     (-5.0 <  +INF) = float: true
+ 508.     (-5.0 <= +INF) = float: true
+ 509.     (-5.0 >  +INF) = float: false
+ 510.     (-5.0 >= +INF) = float: false
+ 511.    !(-5.0 == +INF) = float: true
+ 512.    !(-5.0 != +INF) = float: false
+ 513.    !(-5.0 <  +INF) = float: false
+ 514.    !(-5.0 <= +INF) = float: false
+ 515.    !(-5.0 >  +INF) = float: true
+ 516.    !(-5.0 >= +INF) = float: true
+ 517.     (-5.0 == +INF) = double: false
+ 518.     (-5.0 != +INF) = double: true
+ 519.     (-5.0 <  +INF) = double: true
+ 520.     (-5.0 <= +INF) = double: true
+ 521.     (-5.0 >  +INF) = double: false
+ 522.     (-5.0 >= +INF) = double: false
+ 523.    !(-5.0 == +INF) = double: true
+ 524.    !(-5.0 != +INF) = double: false
+ 525.    !(-5.0 <  +INF) = double: false
+ 526.    !(-5.0 <= +INF) = double: false
+ 527.    !(-5.0 >  +INF) = double: true
+ 528.    !(-5.0 >= +INF) = double: true
+ 529.    -0.0 + +INF = float:  Infinity
+ 530.    -0.0 - +INF = float:  -Infinity
+ 531.    -0.0 * +INF = float:  NaN
+ 532.    -0.0 / +INF = float:  -0.0
+ 533.    -0.0 % +INF = float:  -0.0
+ 534.    -0.0 + +INF = double: Infinity
+ 535.    -0.0 - +INF = double: -Infinity
+ 536.    -0.0 * +INF = double: NaN
+ 537.    -0.0 / +INF = double: -0.0
+ 538.    -0.0 % +INF = double: -0.0
+ 539.     (-0.0 == +INF) = float: false
+ 540.     (-0.0 != +INF) = float: true
+ 541.     (-0.0 <  +INF) = float: true
+ 542.     (-0.0 <= +INF) = float: true
+ 543.     (-0.0 >  +INF) = float: false
+ 544.     (-0.0 >= +INF) = float: false
+ 545.    !(-0.0 == +INF) = float: true
+ 546.    !(-0.0 != +INF) = float: false
+ 547.    !(-0.0 <  +INF) = float: false
+ 548.    !(-0.0 <= +INF) = float: false
+ 549.    !(-0.0 >  +INF) = float: true
+ 550.    !(-0.0 >= +INF) = float: true
+ 551.     (-0.0 == +INF) = double: false
+ 552.     (-0.0 != +INF) = double: true
+ 553.     (-0.0 <  +INF) = double: true
+ 554.     (-0.0 <= +INF) = double: true
+ 555.     (-0.0 >  +INF) = double: false
+ 556.     (-0.0 >= +INF) = double: false
+ 557.    !(-0.0 == +INF) = double: true
+ 558.    !(-0.0 != +INF) = double: false
+ 559.    !(-0.0 <  +INF) = double: false
+ 560.    !(-0.0 <= +INF) = double: false
+ 561.    !(-0.0 >  +INF) = double: true
+ 562.    !(-0.0 >= +INF) = double: true
+ 563.    0.0 + +INF = float:  Infinity
+ 564.    0.0 - +INF = float:  -Infinity
+ 565.    0.0 * +INF = float:  NaN
+ 566.    0.0 / +INF = float:  0.0
+ 567.    0.0 % +INF = float:  0.0
+ 568.    0.0 + +INF = double: Infinity
+ 569.    0.0 - +INF = double: -Infinity
+ 570.    0.0 * +INF = double: NaN
+ 571.    0.0 / +INF = double: 0.0
+ 572.    0.0 % +INF = double: 0.0
+ 573.     (0.0 == +INF) = float: false
+ 574.     (0.0 != +INF) = float: true
+ 575.     (0.0 <  +INF) = float: true
+ 576.     (0.0 <= +INF) = float: true
+ 577.     (0.0 >  +INF) = float: false
+ 578.     (0.0 >= +INF) = float: false
+ 579.    !(0.0 == +INF) = float: true
+ 580.    !(0.0 != +INF) = float: false
+ 581.    !(0.0 <  +INF) = float: false
+ 582.    !(0.0 <= +INF) = float: false
+ 583.    !(0.0 >  +INF) = float: true
+ 584.    !(0.0 >= +INF) = float: true
+ 585.     (0.0 == +INF) = double: false
+ 586.     (0.0 != +INF) = double: true
+ 587.     (0.0 <  +INF) = double: true
+ 588.     (0.0 <= +INF) = double: true
+ 589.     (0.0 >  +INF) = double: false
+ 590.     (0.0 >= +INF) = double: false
+ 591.    !(0.0 == +INF) = double: true
+ 592.    !(0.0 != +INF) = double: false
+ 593.    !(0.0 <  +INF) = double: false
+ 594.    !(0.0 <= +INF) = double: false
+ 595.    !(0.0 >  +INF) = double: true
+ 596.    !(0.0 >= +INF) = double: true
+ 597.    5.0 + +INF = float:  Infinity
+ 598.    5.0 - +INF = float:  -Infinity
+ 599.    5.0 * +INF = float:  Infinity
+ 600.    5.0 / +INF = float:  0.0
+ 601.    5.0 % +INF = float:  5.0
+ 602.    5.0 + +INF = double: Infinity
+ 603.    5.0 - +INF = double: -Infinity
+ 604.    5.0 * +INF = double: Infinity
+ 605.    5.0 / +INF = double: 0.0
+ 606.    5.0 % +INF = double: 5.0
+ 607.     (5.0 == +INF) = float: false
+ 608.     (5.0 != +INF) = float: true
+ 609.     (5.0 <  +INF) = float: true
+ 610.     (5.0 <= +INF) = float: true
+ 611.     (5.0 >  +INF) = float: false
+ 612.     (5.0 >= +INF) = float: false
+ 613.    !(5.0 == +INF) = float: true
+ 614.    !(5.0 != +INF) = float: false
+ 615.    !(5.0 <  +INF) = float: false
+ 616.    !(5.0 <= +INF) = float: false
+ 617.    !(5.0 >  +INF) = float: true
+ 618.    !(5.0 >= +INF) = float: true
+ 619.     (5.0 == +INF) = double: false
+ 620.     (5.0 != +INF) = double: true
+ 621.     (5.0 <  +INF) = double: true
+ 622.     (5.0 <= +INF) = double: true
+ 623.     (5.0 >  +INF) = double: false
+ 624.     (5.0 >= +INF) = double: false
+ 625.    !(5.0 == +INF) = double: true
+ 626.    !(5.0 != +INF) = double: false
+ 627.    !(5.0 <  +INF) = double: false
+ 628.    !(5.0 <= +INF) = double: false
+ 629.    !(5.0 >  +INF) = double: true
+ 630.    !(5.0 >= +INF) = double: true
+ 631.    ------------------- test -INF op value
+ 632.    -INF + -5.0 = float:  -Infinity
+ 633.    -INF - -5.0 = float:  -Infinity
+ 634.    -INF * -5.0 = float:  Infinity
+ 635.    -INF / -5.0 = float:  Infinity
+ 636.    -INF % -5.0 = float:  NaN
+ 637.    -INF + -5.0 = double: -Infinity
+ 638.    -INF - -5.0 = double: -Infinity
+ 639.    -INF * -5.0 = double: Infinity
+ 640.    -INF / -5.0 = double: Infinity
+ 641.    -INF % -5.0 = double: NaN
+ 642.     (-INF == -5.0) = float: false
+ 643.     (-INF != -5.0) = float: true
+ 644.     (-INF <  -5.0) = float: true
+ 645.     (-INF <= -5.0) = float: true
+ 646.     (-INF >  -5.0) = float: false
+ 647.     (-INF >= -5.0) = float: false
+ 648.    !(-INF == -5.0) = float: true
+ 649.    !(-INF != -5.0) = float: false
+ 650.    !(-INF <  -5.0) = float: false
+ 651.    !(-INF <= -5.0) = float: false
+ 652.    !(-INF >  -5.0) = float: true
+ 653.    !(-INF >= -5.0) = float: true
+ 654.     (-INF == -5.0) = double: false
+ 655.     (-INF != -5.0) = double: true
+ 656.     (-INF <  -5.0) = double: true
+ 657.     (-INF <= -5.0) = double: true
+ 658.     (-INF >  -5.0) = double: false
+ 659.     (-INF >= -5.0) = double: false
+ 660.    !(-INF == -5.0) = double: true
+ 661.    !(-INF != -5.0) = double: false
+ 662.    !(-INF <  -5.0) = double: false
+ 663.    !(-INF <= -5.0) = double: false
+ 664.    !(-INF >  -5.0) = double: true
+ 665.    !(-INF >= -5.0) = double: true
+ 666.    -INF + -0.0 = float:  -Infinity
+ 667.    -INF - -0.0 = float:  -Infinity
+ 668.    -INF * -0.0 = float:  NaN
+ 669.    -INF / -0.0 = float:  Infinity
+ 670.    -INF % -0.0 = float:  NaN
+ 671.    -INF + -0.0 = double: -Infinity
+ 672.    -INF - -0.0 = double: -Infinity
+ 673.    -INF * -0.0 = double: NaN
+ 674.    -INF / -0.0 = double: Infinity
+ 675.    -INF % -0.0 = double: NaN
+ 676.     (-INF == -0.0) = float: false
+ 677.     (-INF != -0.0) = float: true
+ 678.     (-INF <  -0.0) = float: true
+ 679.     (-INF <= -0.0) = float: true
+ 680.     (-INF >  -0.0) = float: false
+ 681.     (-INF >= -0.0) = float: false
+ 682.    !(-INF == -0.0) = float: true
+ 683.    !(-INF != -0.0) = float: false
+ 684.    !(-INF <  -0.0) = float: false
+ 685.    !(-INF <= -0.0) = float: false
+ 686.    !(-INF >  -0.0) = float: true
+ 687.    !(-INF >= -0.0) = float: true
+ 688.     (-INF == -0.0) = double: false
+ 689.     (-INF != -0.0) = double: true
+ 690.     (-INF <  -0.0) = double: true
+ 691.     (-INF <= -0.0) = double: true
+ 692.     (-INF >  -0.0) = double: false
+ 693.     (-INF >= -0.0) = double: false
+ 694.    !(-INF == -0.0) = double: true
+ 695.    !(-INF != -0.0) = double: false
+ 696.    !(-INF <  -0.0) = double: false
+ 697.    !(-INF <= -0.0) = double: false
+ 698.    !(-INF >  -0.0) = double: true
+ 699.    !(-INF >= -0.0) = double: true
+ 700.    -INF + 0.0 = float:  -Infinity
+ 701.    -INF - 0.0 = float:  -Infinity
+ 702.    -INF * 0.0 = float:  NaN
+ 703.    -INF / 0.0 = float:  -Infinity
+ 704.    -INF % 0.0 = float:  NaN
+ 705.    -INF + 0.0 = double: -Infinity
+ 706.    -INF - 0.0 = double: -Infinity
+ 707.    -INF * 0.0 = double: NaN
+ 708.    -INF / 0.0 = double: -Infinity
+ 709.    -INF % 0.0 = double: NaN
+ 710.     (-INF == 0.0) = float: false
+ 711.     (-INF != 0.0) = float: true
+ 712.     (-INF <  0.0) = float: true
+ 713.     (-INF <= 0.0) = float: true
+ 714.     (-INF >  0.0) = float: false
+ 715.     (-INF >= 0.0) = float: false
+ 716.    !(-INF == 0.0) = float: true
+ 717.    !(-INF != 0.0) = float: false
+ 718.    !(-INF <  0.0) = float: false
+ 719.    !(-INF <= 0.0) = float: false
+ 720.    !(-INF >  0.0) = float: true
+ 721.    !(-INF >= 0.0) = float: true
+ 722.     (-INF == 0.0) = double: false
+ 723.     (-INF != 0.0) = double: true
+ 724.     (-INF <  0.0) = double: true
+ 725.     (-INF <= 0.0) = double: true
+ 726.     (-INF >  0.0) = double: false
+ 727.     (-INF >= 0.0) = double: false
+ 728.    !(-INF == 0.0) = double: true
+ 729.    !(-INF != 0.0) = double: false
+ 730.    !(-INF <  0.0) = double: false
+ 731.    !(-INF <= 0.0) = double: false
+ 732.    !(-INF >  0.0) = double: true
+ 733.    !(-INF >= 0.0) = double: true
+ 734.    -INF + 5.0 = float:  -Infinity
+ 735.    -INF - 5.0 = float:  -Infinity
+ 736.    -INF * 5.0 = float:  -Infinity
+ 737.    -INF / 5.0 = float:  -Infinity
+ 738.    -INF % 5.0 = float:  NaN
+ 739.    -INF + 5.0 = double: -Infinity
+ 740.    -INF - 5.0 = double: -Infinity
+ 741.    -INF * 5.0 = double: -Infinity
+ 742.    -INF / 5.0 = double: -Infinity
+ 743.    -INF % 5.0 = double: NaN
+ 744.     (-INF == 5.0) = float: false
+ 745.     (-INF != 5.0) = float: true
+ 746.     (-INF <  5.0) = float: true
+ 747.     (-INF <= 5.0) = float: true
+ 748.     (-INF >  5.0) = float: false
+ 749.     (-INF >= 5.0) = float: false
+ 750.    !(-INF == 5.0) = float: true
+ 751.    !(-INF != 5.0) = float: false
+ 752.    !(-INF <  5.0) = float: false
+ 753.    !(-INF <= 5.0) = float: false
+ 754.    !(-INF >  5.0) = float: true
+ 755.    !(-INF >= 5.0) = float: true
+ 756.     (-INF == 5.0) = double: false
+ 757.     (-INF != 5.0) = double: true
+ 758.     (-INF <  5.0) = double: true
+ 759.     (-INF <= 5.0) = double: true
+ 760.     (-INF >  5.0) = double: false
+ 761.     (-INF >= 5.0) = double: false
+ 762.    !(-INF == 5.0) = double: true
+ 763.    !(-INF != 5.0) = double: false
+ 764.    !(-INF <  5.0) = double: false
+ 765.    !(-INF <= 5.0) = double: false
+ 766.    !(-INF >  5.0) = double: true
+ 767.    !(-INF >= 5.0) = double: true
+ 768.    ------------------- test -INF op value
+ 769.    -5.0 + -INF = float:  -Infinity
+ 770.    -5.0 - -INF = float:  Infinity
+ 771.    -5.0 * -INF = float:  Infinity
+ 772.    -5.0 / -INF = float:  0.0
+ 773.    -5.0 % -INF = float:  -5.0
+ 774.    -5.0 + -INF = double: -Infinity
+ 775.    -5.0 - -INF = double: Infinity
+ 776.    -5.0 * -INF = double: Infinity
+ 777.    -5.0 / -INF = double: 0.0
+ 778.    -5.0 % -INF = double: -5.0
+ 779.     (-5.0 == -INF) = float: false
+ 780.     (-5.0 != -INF) = float: true
+ 781.     (-5.0 <  -INF) = float: false
+ 782.     (-5.0 <= -INF) = float: false
+ 783.     (-5.0 >  -INF) = float: true
+ 784.     (-5.0 >= -INF) = float: true
+ 785.    !(-5.0 == -INF) = float: true
+ 786.    !(-5.0 != -INF) = float: false
+ 787.    !(-5.0 <  -INF) = float: true
+ 788.    !(-5.0 <= -INF) = float: true
+ 789.    !(-5.0 >  -INF) = float: false
+ 790.    !(-5.0 >= -INF) = float: false
+ 791.     (-5.0 == -INF) = double: false
+ 792.     (-5.0 != -INF) = double: true
+ 793.     (-5.0 <  -INF) = double: false
+ 794.     (-5.0 <= -INF) = double: false
+ 795.     (-5.0 >  -INF) = double: true
+ 796.     (-5.0 >= -INF) = double: true
+ 797.    !(-5.0 == -INF) = double: true
+ 798.    !(-5.0 != -INF) = double: false
+ 799.    !(-5.0 <  -INF) = double: true
+ 800.    !(-5.0 <= -INF) = double: true
+ 801.    !(-5.0 >  -INF) = double: false
+ 802.    !(-5.0 >= -INF) = double: false
+ 803.    -0.0 + -INF = float:  -Infinity
+ 804.    -0.0 - -INF = float:  Infinity
+ 805.    -0.0 * -INF = float:  NaN
+ 806.    -0.0 / -INF = float:  0.0
+ 807.    -0.0 % -INF = float:  -0.0
+ 808.    -0.0 + -INF = double: -Infinity
+ 809.    -0.0 - -INF = double: Infinity
+ 810.    -0.0 * -INF = double: NaN
+ 811.    -0.0 / -INF = double: 0.0
+ 812.    -0.0 % -INF = double: -0.0
+ 813.     (-0.0 == -INF) = float: false
+ 814.     (-0.0 != -INF) = float: true
+ 815.     (-0.0 <  -INF) = float: false
+ 816.     (-0.0 <= -INF) = float: false
+ 817.     (-0.0 >  -INF) = float: true
+ 818.     (-0.0 >= -INF) = float: true
+ 819.    !(-0.0 == -INF) = float: true
+ 820.    !(-0.0 != -INF) = float: false
+ 821.    !(-0.0 <  -INF) = float: true
+ 822.    !(-0.0 <= -INF) = float: true
+ 823.    !(-0.0 >  -INF) = float: false
+ 824.    !(-0.0 >= -INF) = float: false
+ 825.     (-0.0 == -INF) = double: false
+ 826.     (-0.0 != -INF) = double: true
+ 827.     (-0.0 <  -INF) = double: false
+ 828.     (-0.0 <= -INF) = double: false
+ 829.     (-0.0 >  -INF) = double: true
+ 830.     (-0.0 >= -INF) = double: true
+ 831.    !(-0.0 == -INF) = double: true
+ 832.    !(-0.0 != -INF) = double: false
+ 833.    !(-0.0 <  -INF) = double: true
+ 834.    !(-0.0 <= -INF) = double: true
+ 835.    !(-0.0 >  -INF) = double: false
+ 836.    !(-0.0 >= -INF) = double: false
+ 837.    0.0 + -INF = float:  -Infinity
+ 838.    0.0 - -INF = float:  Infinity
+ 839.    0.0 * -INF = float:  NaN
+ 840.    0.0 / -INF = float:  -0.0
+ 841.    0.0 % -INF = float:  0.0
+ 842.    0.0 + -INF = double: -Infinity
+ 843.    0.0 - -INF = double: Infinity
+ 844.    0.0 * -INF = double: NaN
+ 845.    0.0 / -INF = double: -0.0
+ 846.    0.0 % -INF = double: 0.0
+ 847.     (0.0 == -INF) = float: false
+ 848.     (0.0 != -INF) = float: true
+ 849.     (0.0 <  -INF) = float: false
+ 850.     (0.0 <= -INF) = float: false
+ 851.     (0.0 >  -INF) = float: true
+ 852.     (0.0 >= -INF) = float: true
+ 853.    !(0.0 == -INF) = float: true
+ 854.    !(0.0 != -INF) = float: false
+ 855.    !(0.0 <  -INF) = float: true
+ 856.    !(0.0 <= -INF) = float: true
+ 857.    !(0.0 >  -INF) = float: false
+ 858.    !(0.0 >= -INF) = float: false
+ 859.     (0.0 == -INF) = double: false
+ 860.     (0.0 != -INF) = double: true
+ 861.     (0.0 <  -INF) = double: false
+ 862.     (0.0 <= -INF) = double: false
+ 863.     (0.0 >  -INF) = double: true
+ 864.     (0.0 >= -INF) = double: true
+ 865.    !(0.0 == -INF) = double: true
+ 866.    !(0.0 != -INF) = double: false
+ 867.    !(0.0 <  -INF) = double: true
+ 868.    !(0.0 <= -INF) = double: true
+ 869.    !(0.0 >  -INF) = double: false
+ 870.    !(0.0 >= -INF) = double: false
+ 871.    5.0 + -INF = float:  -Infinity
+ 872.    5.0 - -INF = float:  Infinity
+ 873.    5.0 * -INF = float:  -Infinity
+ 874.    5.0 / -INF = float:  -0.0
+ 875.    5.0 % -INF = float:  5.0
+ 876.    5.0 + -INF = double: -Infinity
+ 877.    5.0 - -INF = double: Infinity
+ 878.    5.0 * -INF = double: -Infinity
+ 879.    5.0 / -INF = double: -0.0
+ 880.    5.0 % -INF = double: 5.0
+ 881.     (5.0 == -INF) = float: false
+ 882.     (5.0 != -INF) = float: true
+ 883.     (5.0 <  -INF) = float: false
+ 884.     (5.0 <= -INF) = float: false
+ 885.     (5.0 >  -INF) = float: true
+ 886.     (5.0 >= -INF) = float: true
+ 887.    !(5.0 == -INF) = float: true
+ 888.    !(5.0 != -INF) = float: false
+ 889.    !(5.0 <  -INF) = float: true
+ 890.    !(5.0 <= -INF) = float: true
+ 891.    !(5.0 >  -INF) = float: false
+ 892.    !(5.0 >= -INF) = float: false
+ 893.     (5.0 == -INF) = double: false
+ 894.     (5.0 != -INF) = double: true
+ 895.     (5.0 <  -INF) = double: false
+ 896.     (5.0 <= -INF) = double: false
+ 897.     (5.0 >  -INF) = double: true
+ 898.     (5.0 >= -INF) = double: true
+ 899.    !(5.0 == -INF) = double: true
+ 900.    !(5.0 != -INF) = double: false
+ 901.    !(5.0 <  -INF) = double: true
+ 902.    !(5.0 <= -INF) = double: true
+ 903.    !(5.0 >  -INF) = double: false
+ 904.    !(5.0 >= -INF) = double: false
+ 905.    ------------------- test MAX op value
+ 906.    MAX + 5.0 = float:  3.4028235E38
+ 907.    MAX - 5.0 = float:  3.4028235E38
+ 908.    MAX * 5.0 = float:  Infinity
+ 909.    MAX / 5.0 = float:  6.805647E37
+ 910.    MAX % 5.0 = float:  0.0
+ 911.    MAX + 5.0 = double: 1.7976931348623157E308
+ 912.    MAX - 5.0 = double: 1.7976931348623157E308
+ 913.    MAX * 5.0 = double: Infinity
+ 914.    MAX / 5.0 = double: 3.5953862697246315E307
+ 915.    MAX % 5.0 = double: 3.0
+ 916.    ------------------- test value op MAX
+ 917.    5.0 + MAX = float:  3.4028235E38
+ 918.    5.0 - MAX = float:  -3.4028235E38
+ 919.    5.0 * MAX = float:  Infinity
+ 920.    5.0 / MAX = float:  1.4693681E-38
+ 921.    5.0 % MAX = float:  5.0
+ 922.    5.0 + MAX = double: 1.7976931348623157E308
+ 923.    5.0 - MAX = double: -1.7976931348623157E308
+ 924.    5.0 * MAX = double: Infinity
+ 925.    5.0 / MAX = double: 2.781342323134002E-308
+ 926.    5.0 % MAX = double: 5.0
+ 927.    ------------------- test MIN op value
+ 928.    MIN + 5.0 = float:  5.0
+ 929.    MIN - 5.0 = float:  -5.0
+ 930.    MIN * 5.0 = float:  7.0E-45
+ 931.    MIN / 5.0 = float:  0.0
+ 932.    MIN % 5.0 = float:  1.4E-45
+ 933.    MIN + 5.0 = double: 5.0
+ 934.    MIN - 5.0 = double: -5.0
+ 935.    MIN * 5.0 = double: 2.5E-323
+ 936.    MIN / 5.0 = double: 0.0
+ 937.    MIN % 5.0 = double: 4.9E-324
+ 938.    ------------------- test value op MIN
+ 939.    5.0 + MIN = float:  5.0
+ 940.    5.0 - MIN = float:  5.0
+ 941.    5.0 * MIN = float:  7.0E-45
+ 942.    5.0 / MIN = float:  Infinity
+ 943.    5.0 % MIN = float:  0.0
+ 944.    5.0 + MIN = double: 5.0
+ 945.    5.0 - MIN = double: 5.0
+ 946.    5.0 * MIN = double: 2.5E-323
+ 947.    5.0 / MIN = double: Infinity
+ 948.    5.0 % MIN = double: 0.0
+ 949.    
\ No newline at end of file
index 8a0d134dc1b15c2516cee04546917db0f56072f0..e53983a81514cce345571d90915b36e1fc6bec7d 100644 (file)
 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/vm/jit/$(ARCH_DIR) -I$(top_srcdir)/src/vm/jit/$(ARCH_DIR)/$(OS_DIR) -I$(top_builddir)
 
 JAVA     = $(top_builddir)/src/cacao/cacao
-JAVAH    = $(CACAOH)
 JAVACMD  = $(JAVA) -Xbootclasspath:$(BOOTCLASSPATH)
 JAVACCMD = $(JAVAC) -bootclasspath $(BOOTCLASSPATH)
-JAVAHCMD = $(JAVAH) -bootclasspath $(BOOTCLASSPATH)
 
 SOURCE_FILES = \
        checkjni.java \
@@ -59,7 +57,6 @@ check: $(TESTNAMES)
 
 $(TESTNAMES) $(NOTESTNAMES):
        @$(JAVACCMD) -d . $(srcdir)/$@.java
-       @$(JAVAHCMD) $@
        @$(CC) -shared $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $(srcdir)/$@.c -o lib$@.so -fPIC
        @LD_LIBRARY_PATH=$(top_builddir)/src/cacao/.libs:. $(SHELL) $(srcdir)/../Test.sh "$(JAVACMD)" $@ $(srcdir)