--- /home/cpdev/src/classpath/java/lang/Float.java	2005-07-02 21:03:31.000000000 +0000
+++ java/lang/Float.java	2005-06-30 05:34:38.000000000 +0000
@@ -173,7 +173,7 @@
    */
   public static String toString(float f)
   {
-    return VMDouble.toString(f, true);
+    return Double.toString(f, true);
   }
 
   /**
@@ -426,10 +426,9 @@
    * @return the bits of the <code>float</code>
    * @see #intBitsToFloat(int)
    */
-  public static int floatToIntBits(float value)
-  {
-    return VMFloat.floatToIntBits(value);
-  }
+  // GCJ LOCAL: We diverge from Classpath for efficiency.
+  public static native int floatToIntBits(float value);
+  // END GCJ LOCAL
 
   /**
    * Convert the float to the IEEE 754 floating-point "single format" bit
@@ -444,10 +443,9 @@
    * @return the bits of the <code>float</code>
    * @see #intBitsToFloat(int)
    */
-  public static int floatToRawIntBits(float value)
-  {
-    return VMFloat.floatToRawIntBits(value);
-  }
+  // GCJ LOCAL: We diverge from Classpath for efficiency.
+  public static native int floatToRawIntBits(float value);
+  // END GCJ LOCAL
 
   /**
    * Convert the argument in IEEE 754 floating-point "single format" bit
@@ -462,10 +460,9 @@
    * @see #floatToIntBits(float)
    * @see #floatToRawIntBits(float)
    */
-  public static float intBitsToFloat(int bits)
-  {
-    return VMFloat.intBitsToFloat(bits);
-  }
+  // GCJ LOCAL: We diverge from Classpath for efficiency.
+  public static native float intBitsToFloat(int bits);
+  // END GCJ LOCAL
 
   /**
    * Compare two Floats numerically by comparing their <code>float</code>
