| java.lang.Object com.sun.j3d.internal.HashCodeUtil
HashCodeUtil | public class HashCodeUtil (Code) | | Utility class used when computing the hash code for
objects containing float or double values. This fixes Issue 36.
|
Method Summary | |
public static long | doubleToLongBits(double d) Returns the representation of the specified floating-point
value according to the IEEE 754 floating-point "double format"
bit layout, after first mapping -0.0 to 0.0. | public static int | floatToIntBits(float f) Returns the representation of the specified floating-point
value according to the IEEE 754 floating-point "single format"
bit layout, after first mapping -0.0 to 0.0. |
doubleToLongBits | public static long doubleToLongBits(double d)(Code) | | Returns the representation of the specified floating-point
value according to the IEEE 754 floating-point "double format"
bit layout, after first mapping -0.0 to 0.0. This method is
identical to Double.doubleToLongBits(double) except that an
integer value of 0L is returned for a floating-point value of
-0.0. This is done for the purpose of computing a hash code
that satisfies the contract of hashCode() and equals(). The
equals() method in some Java 3D classes does a pair-wise
"==" test on each floating-point field in the class. Since
0.0 == -0.0 returns true, we must also return the
same hash code for two objects, one of which has a field with a
value of -0.0 and the other of which has a cooresponding field
with a value of 0.0.
Parameters: d - an input double precision floating-point number the integer bits representing that floating-pointnumber, after first mapping -0.0f to 0.0f |
floatToIntBits | public static int floatToIntBits(float f)(Code) | | Returns the representation of the specified floating-point
value according to the IEEE 754 floating-point "single format"
bit layout, after first mapping -0.0 to 0.0. This method is
identical to Float.floatToIntBits(float) except that an integer
value of 0 is returned for a floating-point value of
-0.0f. This is done for the purpose of computing a hash code
that satisfies the contract of hashCode() and equals(). The
equals() method in some Java 3D classes does a pair-wise
"==" test on each floating-point field in the class. Since
0.0f == -0.0f returns true, we must also return the
same hash code for two objects, one of which has a field with a
value of -0.0f and the other of which has a cooresponding field
with a value of 0.0f.
Parameters: f - an input floating-point number the integer bits representing that floating-pointnumber, after first mapping -0.0f to 0.0f |
|
|