From: Roland Lezuo Date: Thu, 27 Oct 2011 15:32:45 +0000 (+0200) Subject: Regression test driver now can read different expected output files X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=cacao.git;a=commitdiff_plain;h=20b3a23bede272aa58b85dad9b0d7f927a51ff75 Regression test driver now can read different expected output files 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 --- diff --git a/tests/regression/Test.sh b/tests/regression/Test.sh index 7438eba84..bb42e65fd 100644 --- a/tests/regression/Test.sh +++ b/tests/regression/Test.sh @@ -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 index 642d790f4..000000000 --- a/tests/regression/extest.2output +++ /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 triggered from a leaf method: OK -java.lang.ExceptionInInitializerError - at extest.main(extest.java:204) -Caused by: java.lang.NullPointerException - at extest_clinit_patcher.(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 : OK -java.lang.ExceptionInInitializerError - at extest.main(extest.java:234) -Caused by: java.lang.NullPointerException - at extest_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 index 000000000..642d790f4 --- /dev/null +++ b/tests/regression/extest.2output.cp @@ -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 triggered from a leaf method: OK +java.lang.ExceptionInInitializerError + at extest.main(extest.java:204) +Caused by: java.lang.NullPointerException + at extest_clinit_patcher.(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 : OK +java.lang.ExceptionInInitializerError + at extest.main(extest.java:234) +Caused by: java.lang.NullPointerException + at extest_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 index 000000000..9a7019b3d --- /dev/null +++ b/tests/regression/extest.2output.ojdk @@ -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 triggered from a leaf method: OK +java.lang.ExceptionInInitializerError + at extest.main(extest.java:204) +Caused by: java.lang.NullPointerException + at extest_clinit_patcher.(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 : OK +java.lang.ExceptionInInitializerError + at extest.main(extest.java:234) +Caused by: java.lang.NullPointerException + at extest_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) diff --git a/tests/regression/extest.java b/tests/regression/extest.java index 4a91243b9..7408c8ee1 100644 --- a/tests/regression/extest.java +++ b/tests/regression/extest.java @@ -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 index a186baff7..000000000 --- a/tests/regression/fp.output +++ /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 index 000000000..a186baff7 --- /dev/null +++ b/tests/regression/fp.output.cp @@ -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 index 000000000..d6eb0e177 --- /dev/null +++ b/tests/regression/fp.output.ojdk @@ -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 index 170c78c9c..000000000 --- a/tests/regression/fptest.output +++ /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 index 000000000..170c78c9c --- /dev/null +++ b/tests/regression/fptest.output.cp @@ -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 index 000000000..4abb18c64 --- /dev/null +++ b/tests/regression/fptest.output.ojdk @@ -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 diff --git a/tests/regression/native/Makefile.am b/tests/regression/native/Makefile.am index 8a0d134dc..e53983a81 100644 --- a/tests/regression/native/Makefile.am +++ b/tests/regression/native/Makefile.am @@ -24,10 +24,8 @@ 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)