aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>2001-02-09 22:13:33 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2001-02-09 22:13:33 +0000
commit0e206b71aab6068420185d98893ee2de8545737a (patch)
tree6e079f9fc4054b73655c3c3fdd2901b77eb3a558 /libjava
parent30f87f1a70e0eacc1bac2f59e605295cbfb18f8c (diff)
downloadgcc-0e206b71aab6068420185d98893ee2de8545737a.zip
gcc-0e206b71aab6068420185d98893ee2de8545737a.tar.gz
gcc-0e206b71aab6068420185d98893ee2de8545737a.tar.bz2
Double.java (doubleToRawLongBits): Now native.
* 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. From-SVN: r39572
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/java/lang/Double.java8
-rw-r--r--libjava/java/lang/Float.java9
-rw-r--r--libjava/java/lang/natDouble.cc10
-rw-r--r--libjava/java/lang/natFloat.cc10
5 files changed, 27 insertions, 17 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index e1fdd1f..e1002bf 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2001-02-09 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * 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.
+
2001-02-09 Alexandre Petit-Bianco <apbianco@redhat.com>
* java/io/File.java (java.net): Imported.
diff --git a/libjava/java/lang/Double.java b/libjava/java/lang/Double.java
index a656b51..3c2a745 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 f15b06d..efce214 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 c2be506..bc60dda 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 f19a1d5..f035dd5 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)
{