From: Bryce McKinlay Date: Fri, 9 Feb 2001 22:13:33 +0000 (+0000) Subject: Double.java (doubleToRawLongBits): Now native. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e206b71aab6068420185d98893ee2de8545737a;p=gcc.git 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 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index e1fdd1f103b..e1002bffdfc 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2001-02-09 Bryce McKinlay + + * 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 * java/io/File.java (java.net): Imported. 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) {