diff options
Diffstat (limited to 'test/082-inline-execute/src/Main.java')
-rw-r--r-- | test/082-inline-execute/src/Main.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/082-inline-execute/src/Main.java b/test/082-inline-execute/src/Main.java index f4a234b437..97ecf47876 100644 --- a/test/082-inline-execute/src/Main.java +++ b/test/082-inline-execute/src/Main.java @@ -45,6 +45,8 @@ public class Main { test_Math_isInfinite_D(); test_Math_isInfinite_F(); test_Math_multiplyHigh(); + test_Math_fma_D(); + test_Math_fma_F(); test_Short_reverseBytes(); test_Integer_reverseBytes(); test_Long_reverseBytes(); @@ -985,6 +987,24 @@ public class Main { Assert.assertEquals(Math.multiplyHigh(Long.MAX_VALUE, Long.MAX_VALUE), 4611686018427387903L); } + public static void test_Math_fma_D() { + final double MAX_D = Double.MAX_VALUE; + final double MIN_D = Double.MIN_VALUE; + Math.fma(3.0, 4.0, 5.0); + Assert.assertEquals(Double.compare(Math.fma(3.0, 4.0, 5.0), 17.0), 0); + Assert.assertEquals(Double.compare(Math.fma(MAX_D, MIN_D, 1.0), 1.0000000000000009), 0); + Assert.assertEquals(Double.compare(Math.fma(MAX_D, MIN_D, 0.0), 8.881784197001251E-16), 0); + } + + public static void test_Math_fma_F() { + final float MAX_F = Float.MAX_VALUE; + final float MIN_F = Float.MIN_VALUE; + Math.fma(3.0f, 4.0f, 5.0f); + Assert.assertEquals(Float.compare(Math.fma(3.0f, 4.0f, 5.0f), 17.0f), 0); + Assert.assertEquals(Float.compare(Math.fma(MAX_F, MIN_F, 1.0f), 1.0000005f), 0); + Assert.assertEquals(Float.compare(Math.fma(MAX_F, MIN_F, 0.0f), 4.7683712978141557E-7f), 0); + } + public static void test_StrictMath_abs_I() { StrictMath.abs(-1); Assert.assertEquals(StrictMath.abs(0), 0); |