aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/Float.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/Float.java')
-rw-r--r--libjava/java/lang/Float.java24
1 files changed, 22 insertions, 2 deletions
diff --git a/libjava/java/lang/Float.java b/libjava/java/lang/Float.java
index b5939de..5733752 100644
--- a/libjava/java/lang/Float.java
+++ b/libjava/java/lang/Float.java
@@ -18,7 +18,7 @@ package java.lang;
* Status: Believed complete and correct.
*/
-public final class Float extends Number
+public final class Float extends Number implements Comparable
{
public static final float MAX_VALUE = 3.4028235e+38f;
public static final float MIN_VALUE = 1.4e-45f;
@@ -147,5 +147,25 @@ public final class Float extends Number
public static native float intBitsToFloat (int bits);
-}
+ public int compareTo (Float d)
+ {
+ float v = d.value;
+ if (isNaN (value))
+ return isNaN (v) ? 1 : 0;
+ else if (isNaN (v))
+ return -1;
+ else if (value == 0.0 && v == -0.0)
+ return 1;
+ else if (value == -0.0 && v == 0.0)
+ return -1;
+ else if (value == v)
+ return 0;
+
+ return value > v ? 1 : -1;
+ }
+ public int compareTo (Object o)
+ {
+ return compareTo ((Float) o);
+ }
+}