From 7d9e5a9de873836f9630b9c4e66e00c3a38ae8e8 Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Mon, 9 Mar 2015 19:29:48 -0700 Subject: [PATCH] ART: Relax test 703 NaNs are a set of numbers. Do not expect one specific one as the result of a NaN computation. Change-Id: Ib98d61ea1fe8c2dd80027d1a23b8a77bfb248a27 --- test/703-floating-point-div/src/Main.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/test/703-floating-point-div/src/Main.java b/test/703-floating-point-div/src/Main.java index 9990a545f..23037022f 100644 --- a/test/703-floating-point-div/src/Main.java +++ b/test/703-floating-point-div/src/Main.java @@ -41,7 +41,7 @@ public class Main { double d7 = -0.0; double d8 = Double.MAX_VALUE; double d9 = Double.MIN_VALUE; - double d0 = Double.NaN; + double dNaN = Double.NaN; expectEquals(Double.doubleToRawLongBits(dPi/d1), 0x1921fb54442d18L); expectEquals(Double.doubleToRawLongBits(dPi/d2), 0xbff921fb54442d18L); @@ -53,7 +53,10 @@ public class Main { expectEquals(Double.doubleToRawLongBits(dPi/d8), 0xc90fdaa22168cL); expectEquals(Double.doubleToRawLongBits(dPi/d9), 0x7ff0000000000000L); - expectEquals(Double.doubleToRawLongBits(dPi/d0), 0x7ff8000000000000L); + + // Not-a-number computation. Use doubleToLongBits to get canonical NaN. The literal value + // is the canonical NaN (see Double.doubleToLongBits). + expectEquals(Double.doubleToLongBits(dPi/dNaN), 0x7ff8000000000000L); } public static void divFloatTest() { @@ -66,7 +69,7 @@ public class Main { float f7 = -0.0f; float f8 = Float.MAX_VALUE; float f9 = Float.MIN_VALUE; - float f0 = Float.NaN; + float fNaN = Float.NaN; expectEquals(Float.floatToRawIntBits(fPi/f1), 0xc90fdb); expectEquals(Float.floatToRawIntBits(fPi/f2), 0xbfc90fdb); @@ -78,7 +81,10 @@ public class Main { expectEquals(Float.floatToRawIntBits(fPi/f8), 0x6487ee); expectEquals(Float.floatToRawIntBits(fPi/f9), 0x7f800000); - expectEquals(Float.floatToRawIntBits(fPi/f0), 0x7fc00000); + + // Not-a-number computation. Use floatToIntBits to get canonical NaN. The literal value + // is the canonical NaN (see Float.floatToIntBits). + expectEquals(Float.floatToIntBits(fPi/fNaN), 0x7fc00000); } public static void main(String[] args) { -- 2.11.0