|
From: <ls...@us...> - 2007-05-16 20:03:45
|
Revision: 3205
http://jnode.svn.sourceforge.net/jnode/?rev=3205&view=rev
Author: lsantha
Date: 2007-05-16 13:03:44 -0700 (Wed, 16 May 2007)
Log Message:
-----------
Openjdk patches.
Modified Paths:
--------------
trunk/core/src/classpath/vm/java/lang/NativeDouble.java
Added Paths:
-----------
trunk/core/src/classpath/vm/java/lang/NativeFloat.java
Modified: trunk/core/src/classpath/vm/java/lang/NativeDouble.java
===================================================================
--- trunk/core/src/classpath/vm/java/lang/NativeDouble.java 2007-05-16 20:02:30 UTC (rev 3204)
+++ trunk/core/src/classpath/vm/java/lang/NativeDouble.java 2007-05-16 20:03:44 UTC (rev 3205)
@@ -8,7 +8,7 @@
/**
* @author Levente S\xE1ntha
*/
-public class NativeDouble {
+class NativeDouble {
/**
* Convert the double to the IEEE 754 floating-point "double format" bit
* layout. Bit 63 (the most significant) is the sign bit, bits 62-52 (masked
@@ -23,7 +23,7 @@
* @return the bits of the <code>double</code>
* @see java.lang.Double#longBitsToDouble(long)
*/
- public static long doubleToRawLongBits(double value) {
+ static long doubleToRawLongBits(double value) {
return VmMagic.doubleToRawLongBits(value);
}
@@ -41,7 +41,7 @@
* @see java.lang.Double#doubleToLongBits(double)
* @see #doubleToRawLongBits(double)
*/
- public static double longBitsToDouble(long bits) {
+ static double longBitsToDouble(long bits) {
return VmMagic.longBitsToDouble(bits);
}
}
Added: trunk/core/src/classpath/vm/java/lang/NativeFloat.java
===================================================================
--- trunk/core/src/classpath/vm/java/lang/NativeFloat.java (rev 0)
+++ trunk/core/src/classpath/vm/java/lang/NativeFloat.java 2007-05-16 20:03:44 UTC (rev 3205)
@@ -0,0 +1,47 @@
+/*
+ * $Id$
+ */
+package java.lang;
+
+import org.jnode.vm.VmMagic;
+
+/**
+ * @author Levente S\xE1ntha
+ */
+class NativeFloat {
+ /**
+ * Convert the float to the IEEE 754 floating-point "single format" bit
+ * layout. Bit 31 (the most significant) is the sign bit, bits 30-23 (masked
+ * by 0x7f800000) represent the exponent, and bits 22-0 (masked by
+ * 0x007fffff) are the mantissa. This function leaves NaN alone, rather than
+ * collapsing to a canonical value. The result of this function can be used
+ * as the argument to <code>Float.intBitsToFloat(int)</code> to obtain the
+ * original <code>float</code> value.
+ *
+ * @param value
+ * the <code>float</code> to convert
+ * @return the bits of the <code>float</code>
+ * @see #intBitsToFloat(int)
+ */
+ static int floatToRawIntBits(float value) {
+ return VmMagic.floatToRawIntBits(value);
+ }
+
+ /**
+ * Convert the argument in IEEE 754 floating-point "single format" bit
+ * layout to the corresponding float. Bit 31 (the most significant) is the
+ * sign bit, bits 30-23 (masked by 0x7f800000) represent the exponent, and
+ * bits 22-0 (masked by 0x007fffff) are the mantissa. This function leaves
+ * NaN alone, so that you can recover the bit pattern with
+ * <code>Float.floatToRawIntBits(float)</code>.
+ *
+ * @param bits
+ * the bits to convert
+ * @return the <code>float</code> represented by the bits
+ * @see java.lang.Float#floatToIntBits(float)
+ * @see #floatToRawIntBits(float)
+ */
+ static float intBitsToFloat(int bits) {
+ return VmMagic.intBitsToFloat(bits);
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|