Name: vpR10072 Date: 10/17/2003
JDK : JDK1.5.0-b23, JDK1.5.0-b24
JCK : JCK1.5-runtime (b07)
Platform : Windows
r004: WinXP_Professional
r006: Win2003Server
r007: WinXP
r010: Win98
Failing tests:
api/java_lang/Math/index.html#log1p[log1p0001]
api/java_lang/StrictMath/index.html#log1p[log1p0001]
This test fails on Windows platforms only.
Corresponding index_log1p.jtr files have the following line:
log1p0001: Failed. Unexpected result for NaN
The log1p spec states:
If the argument is NaN or less than -1, then the result is NaN
The log1p0001 testcase tries to call the log1p(double x) method with some
different representations of NaN (according to IEEE-754)
double floating point values as argument and checks that the result is NaN.
However, -Infinity is returned for some NaN values.
How to reproduce:
=================
Here is a small testcase:
----------------------------------------------- bug.java
class bug {
public static void main (String args[]) {
double [] valArr = {Double.NaN,
Double.longBitsToDouble(0x7FF0000000000001L),
Double.longBitsToDouble(0xFFF0000000000001L),
Double.longBitsToDouble(0x7FF8555555555555L),
Double.longBitsToDouble(0xFFF8555555555555L),
Double.longBitsToDouble(0x7FFFFFFFFFFFFFFFL),
Double.longBitsToDouble(0xFFFFFFFFFFFFFFFFL),
Double.NEGATIVE_INFINITY,
-1000.0, -100.0, -10.0, -2.0, -1.5,
Double.longBitsToDouble(0xbff0000000000001L)
};
for (int i = 0; i < valArr.length; i++) {
if (Double.compare(Double.NaN, StrictMath.log1p(valArr[i])) != 0) {
System.out.println("Unexpected result for " + valArr[i]
+ " (" + Long.toHexString(Double.doubleToRawLongBits(valArr[i]))
+ ") got " + StrictMath.log1p(valArr[i])
+ " [index=" + i + "]" );
}
}
}
}
----------------------------------------------- bug.java
Test output:
============
$ java -showversion bug
java version "1.5.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b23)
Java HotSpot(TM) Client VM (build 1.5.0-beta-b23, mixed mode)
Unexpected result for NaN (fff8000000000001) got -Infinity [index=2]
Unexpected result for NaN (fff8555555555555) got -Infinity [index=4]
Unexpected result for NaN (ffffffffffffffff) got -Infinity [index=6]
======================================================================
- duplicates
-
JDK-4939441 log1p fails on NaN arguments
- Closed