diff options
| author | 2015-11-20 09:07:09 -0800 | |
|---|---|---|
| committer | 2016-02-22 12:42:57 -0800 | |
| commit | b74353a6765447b1551b337fd76803eb6aa86b8b (patch) | |
| tree | a04175cdbeef83f485c0cbe8a4265abc207780b4 /test/082-inline-execute/src/Main.java | |
| parent | e33d20e321b630bcab83f6dfbfac2788d8145148 (diff) | |
MIPS32: Implement intrinsics from java.lang.Math:
- abs(double) - abs(float) - abs(int)
- abs(long) - max(double, double) - max(float, float)
- max(int, int) - max(long, long) - min(double, double)
- min(float, float) - min(int, int) - min(long, long)
- sqrt(double)
The math intrinsics:
- ceil(double) - floor(double) - rint(double)
- round(double) - round(float)
aren't implemented because they require instructions which only exist
for MIPS64, or for MIPS32r6.
Change-Id: I943be3592b52a423fcb7ac40f46f38a5e2a58c50
Diffstat (limited to 'test/082-inline-execute/src/Main.java')
| -rw-r--r-- | test/082-inline-execute/src/Main.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/test/082-inline-execute/src/Main.java b/test/082-inline-execute/src/Main.java index e5c9dba63f..5b3fa14076 100644 --- a/test/082-inline-execute/src/Main.java +++ b/test/082-inline-execute/src/Main.java @@ -826,6 +826,8 @@ public class Main { Assert.assertEquals(Math.round(-2.5f), -2); Assert.assertEquals(Math.round(-2.9f), -3); Assert.assertEquals(Math.round(-3.0f), -3); + // 0.4999999701976776123046875 + Assert.assertEquals(Math.round(Float.intBitsToFloat(0x3EFFFFFF)), (int)+0.0f); Assert.assertEquals(Math.round(16777215.0f), 16777215); // 2^24 - 1 Assert.assertEquals(Math.round(Float.NaN), (int)+0.0f); Assert.assertEquals(Math.round(Integer.MAX_VALUE + 1.0f), Integer.MAX_VALUE); @@ -1058,6 +1060,8 @@ public class Main { Assert.assertEquals(StrictMath.round(-2.5f), -2); Assert.assertEquals(StrictMath.round(-2.9f), -3); Assert.assertEquals(StrictMath.round(-3.0f), -3); + // 0.4999999701976776123046875 + Assert.assertEquals(StrictMath.round(Float.intBitsToFloat(0x3EFFFFFF)), (int)+0.0f); Assert.assertEquals(StrictMath.round(Float.NaN), (int)+0.0f); Assert.assertEquals(StrictMath.round(Integer.MAX_VALUE + 1.0f), Integer.MAX_VALUE); Assert.assertEquals(StrictMath.round(Integer.MIN_VALUE - 1.0f), Integer.MIN_VALUE); |