diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-09 22:13:33 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-09 22:13:33 +0000 |
commit | 1baf9d267e9da250ec28e863e2c5b92ede498741 (patch) | |
tree | 6e079f9fc4054b73655c3c3fdd2901b77eb3a558 /libjava/java | |
parent | 0f11c7c6bfebc49bf26571ebe3063384d23aa9cc (diff) | |
download | ppe42-gcc-1baf9d267e9da250ec28e863e2c5b92ede498741.tar.gz ppe42-gcc-1baf9d267e9da250ec28e863e2c5b92ede498741.zip |
* java/lang/Double.java (doubleToRawLongBits): Now native.
* java/lang/Float.java (floatToRawIntBits): Likewise.
* java/lang/natDouble.cc (doubleToRawLongBits): New method.
* java/lang/natFloat.cc (floatToRawIntBits): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39572 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/Double.java | 8 | ||||
-rw-r--r-- | libjava/java/lang/Float.java | 9 | ||||
-rw-r--r-- | libjava/java/lang/natDouble.cc | 10 | ||||
-rw-r--r-- | libjava/java/lang/natFloat.cc | 10 |
4 files changed, 20 insertions, 17 deletions
diff --git a/libjava/java/lang/Double.java b/libjava/java/lang/Double.java index a656b510e06..3c2a745e06f 100644 --- a/libjava/java/lang/Double.java +++ b/libjava/java/lang/Double.java @@ -138,13 +138,7 @@ public final class Double extends Number implements Comparable } public static native long doubleToLongBits (double value); - - public static long doubleToRawLongBits (double value) - { - // FIXME: Check that this is correct with respect to NaN values. - return doubleToLongBits (value); - } - + public static native long doubleToRawLongBits (double value); public static native double longBitsToDouble (long bits); public int compareTo (Double d) diff --git a/libjava/java/lang/Float.java b/libjava/java/lang/Float.java index f15b06d2157..efce214a5ea 100644 --- a/libjava/java/lang/Float.java +++ b/libjava/java/lang/Float.java @@ -145,14 +145,7 @@ public final class Float extends Number implements Comparable } public static native int floatToIntBits (float value); - - public static int floatToRawIntBits (float value) - { - // FIXME: Is this supposed to be different? NaN values seem to be handled - // the same in the JDK. - return floatToIntBits (value); - } - + public static native int floatToRawIntBits (float value); public static native float intBitsToFloat (int bits); public int compareTo (Float d) diff --git a/libjava/java/lang/natDouble.cc b/libjava/java/lang/natDouble.cc index c2be5064723..bc60ddaec28 100644 --- a/libjava/java/lang/natDouble.cc +++ b/libjava/java/lang/natDouble.cc @@ -1,6 +1,6 @@ // natDouble.cc - Implementation of java.lang.Double native methods. -/* Copyright (C) 1998, 1999, 2000 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation This file is part of libgcj. @@ -48,6 +48,14 @@ java::lang::Double::doubleToLongBits(jdouble value) return u.l; } +jlong +java::lang::Double::doubleToRawLongBits(jdouble value) +{ + union u u; + u.d = value; + return u.l; +} + jdouble java::lang::Double::longBitsToDouble(jlong bits) { diff --git a/libjava/java/lang/natFloat.cc b/libjava/java/lang/natFloat.cc index f19a1d597d1..f035dd58cf8 100644 --- a/libjava/java/lang/natFloat.cc +++ b/libjava/java/lang/natFloat.cc @@ -1,6 +1,6 @@ // natFloat.cc - Implementation of java.lang.Float native methods. -/* Copyright (C) 1998, 1999 Free Software Foundation +/* Copyright (C) 1998, 1999, 2001 Free Software Foundation This file is part of libgcj. @@ -33,6 +33,14 @@ java::lang::Float::floatToIntBits(jfloat value) return u.l; } +jint +java::lang::Float::floatToRawIntBits(jfloat value) +{ + union u u; + u.d = value; + return u.l; +} + jfloat java::lang::Float::intBitsToFloat(jint bits) { |