diff options
Diffstat (limited to 'test/082-inline-execute/src')
| -rw-r--r-- | test/082-inline-execute/src/Main.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/test/082-inline-execute/src/Main.java b/test/082-inline-execute/src/Main.java index 06f193af32..072f0e68ee 100644 --- a/test/082-inline-execute/src/Main.java +++ b/test/082-inline-execute/src/Main.java @@ -535,6 +535,8 @@ public class Main { Assert.assertEquals(Math.min(0.0f, Float.MAX_VALUE), 0.0f); Assert.assertEquals(Math.min(Float.MIN_VALUE, 0.0f), 0.0f); Assert.assertEquals(Math.min(Float.MIN_VALUE, Float.MAX_VALUE), Float.MIN_VALUE); + // Should not have flush-to-zero behavior. + Assert.assertEquals(Math.min(Float.MIN_VALUE, Float.MIN_VALUE), Float.MIN_VALUE); } public static void test_Math_max_F() { @@ -548,8 +550,10 @@ public class Main { Assert.assertEquals(Math.max(1.0f, 0.0f), 1.0f); Assert.assertEquals(Math.max(0.0f, 1.0f), 1.0f); Assert.assertEquals(Math.max(0.0f, Float.MAX_VALUE), Float.MAX_VALUE); - Assert.assertEquals(Math.max(Float.MIN_VALUE, 0.0f), Float.MIN_VALUE); Assert.assertEquals(Math.max(Float.MIN_VALUE, Float.MAX_VALUE), Float.MAX_VALUE); + // Should not have flush-to-zero behavior. + Assert.assertEquals(Math.max(Float.MIN_VALUE, 0.0f), Float.MIN_VALUE); + Assert.assertEquals(Math.max(Float.MIN_VALUE, Float.MIN_VALUE), Float.MIN_VALUE); } public static void test_Math_min_D() { @@ -565,6 +569,8 @@ public class Main { Assert.assertEquals(Math.min(0.0d, Double.MAX_VALUE), 0.0d); Assert.assertEquals(Math.min(Double.MIN_VALUE, 0.0d), 0.0d); Assert.assertEquals(Math.min(Double.MIN_VALUE, Double.MAX_VALUE), Double.MIN_VALUE); + // Should not have flush-to-zero behavior. + Assert.assertEquals(Math.min(Double.MIN_VALUE, Double.MIN_VALUE), Double.MIN_VALUE); } public static void test_Math_max_D() { @@ -580,6 +586,9 @@ public class Main { Assert.assertEquals(Math.max(0.0d, Double.MAX_VALUE), Double.MAX_VALUE); Assert.assertEquals(Math.max(Double.MIN_VALUE, 0.0d), Double.MIN_VALUE); Assert.assertEquals(Math.max(Double.MIN_VALUE, Double.MAX_VALUE), Double.MAX_VALUE); + // Should not have flush-to-zero behavior. + Assert.assertEquals(Math.max(Double.MIN_VALUE, 0.0d), Double.MIN_VALUE); + Assert.assertEquals(Math.max(Double.MIN_VALUE, Double.MIN_VALUE), Double.MIN_VALUE); } public static void test_Math_sqrt() { @@ -730,16 +739,19 @@ public class Main { Math.rint(+2.1); Assert.assertEquals(Math.rint(+0.0), +0.0d, 0.0); Assert.assertEquals(Math.rint(-0.0), -0.0d, 0.0); + Assert.assertEquals(Math.rint(+0.5), +0.0d, 0.0); // expects tie-to-even Assert.assertEquals(Math.rint(+2.0), +2.0d, 0.0); Assert.assertEquals(Math.rint(+2.1), +2.0d, 0.0); - Assert.assertEquals(Math.rint(+2.5), +2.0d, 0.0); + Assert.assertEquals(Math.rint(+2.5), +2.0d, 0.0); // expects tie-to-even Assert.assertEquals(Math.rint(+2.9), +3.0d, 0.0); Assert.assertEquals(Math.rint(+3.0), +3.0d, 0.0); + Assert.assertEquals(Math.rint(+3.5), +4.0d, 0.0); // expects tie-to-even Assert.assertEquals(Math.rint(-2.0), -2.0d, 0.0); Assert.assertEquals(Math.rint(-2.1), -2.0d, 0.0); - Assert.assertEquals(Math.rint(-2.5), -2.0d, 0.0); + Assert.assertEquals(Math.rint(-2.5), -2.0d, 0.0); // expects tie-to-even Assert.assertEquals(Math.rint(-2.9), -3.0d, 0.0); Assert.assertEquals(Math.rint(-3.0), -3.0d, 0.0); + Assert.assertEquals(Math.rint(-3.5), -4.0d, 0.0); // expects tie-to-even // 2^52 - 1.5 Assert.assertEquals(Math.rint(Double.longBitsToDouble(0x432FFFFFFFFFFFFDl)), Double.longBitsToDouble(0x432FFFFFFFFFFFFCl), 0.0); |