diff options
Diffstat (limited to 'libjava/java/lang/natDouble.cc')
-rw-r--r-- | libjava/java/lang/natDouble.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libjava/java/lang/natDouble.cc b/libjava/java/lang/natDouble.cc index 1799088..8d8c788 100644 --- a/libjava/java/lang/natDouble.cc +++ b/libjava/java/lang/natDouble.cc @@ -47,6 +47,13 @@ java::lang::Double::doubleToLongBits(jdouble value) { union u u; u.d = value; + + jlong e = u.l & 0x7ff0000000000000LL; + jlong f = u.l & 0x000fffffffffffffLL; + + if (e == 0x7ff0000000000000LL && f != 0L) + u.l = 0x7ff8000000000000LL; + return u.l; } |