From 20b3a23bede272aa58b85dad9b0d7f927a51ff75 Mon Sep 17 00:00:00 2001 From: Roland Lezuo Date: Thu, 27 Oct 2011 17:32:45 +0200 Subject: [PATCH] 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 --- tests/regression/Test.sh | 45 +- .../{extest.2output => extest.2output.cp} | 0 tests/regression/extest.2output.ojdk | 124 ++ tests/regression/extest.java | 4 +- tests/regression/{fp.output => fp.output.cp} | 0 tests/regression/fp.output.ojdk | 1116 +++++++++++++++++ .../{fptest.output => fptest.output.cp} | 0 tests/regression/fptest.output.ojdk | 951 ++++++++++++++ tests/regression/native/Makefile.am | 3 - 9 files changed, 2232 insertions(+), 11 deletions(-) rename tests/regression/{extest.2output => extest.2output.cp} (100%) create mode 100644 tests/regression/extest.2output.ojdk rename tests/regression/{fp.output => fp.output.cp} (100%) create mode 100644 tests/regression/fp.output.ojdk rename tests/regression/{fptest.output => fptest.output.cp} (100%) create mode 100644 tests/regression/fptest.output.ojdk 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.cp similarity index 100% rename from tests/regression/extest.2output rename to tests/regression/extest.2output.cp 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.cp similarity index 100% rename from tests/regression/fp.output rename to tests/regression/fp.output.cp 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.cp similarity index 100% rename from tests/regression/fptest.output rename to tests/regression/fptest.output.cp 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) -- 2.25.1