Class FloatUtil
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.util.FloatUtil
Internal utility for declaring with hexadecimal double and float literals.
- Since:
- 3.1
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic double
valueOfHexDoubleLiteral
(char[] source) Returns the double value corresponding to the given hexadecimal floating-point double precision literal.static float
valueOfHexFloatLiteral
(char[] source) Returns the float value corresponding to the given hexadecimal floating-point single precision literal.
-
Constructor Details
-
FloatUtil
public FloatUtil()
-
-
Method Details
-
valueOfHexFloatLiteral
public static float valueOfHexFloatLiteral(char[] source) Returns the float value corresponding to the given hexadecimal floating-point single precision literal. The literal must be syntactically correct, and must be a float literal (end in a 'f' or 'F'). It must not include either leading or trailing whitespace or a sign.This method returns the same answer as Float.parseFloat(new String(source)) does in JDK 1.5, except that this method returns Floal.NaN if it would underflow to 0 (parseFloat just returns 0). The method handles all the tricky cases, including fraction rounding to 24 bits and gradual underflow.
- Parameters:
source
- source string containing single precision hexadecimal floating-point literal- Returns:
- the float value, including Float.POSITIVE_INFINITY if the non-zero value is too large to be represented, and Float.NaN if the non-zero value is too small to be represented
-
valueOfHexDoubleLiteral
public static double valueOfHexDoubleLiteral(char[] source) Returns the double value corresponding to the given hexadecimal floating-point double precision literal. The literal must be syntactially correct, and must be a double literal (end in an optional 'd' or 'D'). It must not include either leading or trailing whitespace or a sign.This method returns the same answer as Double.parseDouble(new String(source)) does in JDK 1.5, except that this method throw NumberFormatException in the case of overflow to infinity or underflow to 0. The method handles all the tricky cases, including fraction rounding to 53 bits and gradual underflow.
- Parameters:
source
- source string containing double precision hexadecimal floating-point literal- Returns:
- the double value, including Double.POSITIVE_INFINITY if the non-zero value is too large to be represented, and Double.NaN if the non-zero value is too small to be represented
-