Package ch.randelshofer.fastdoubleparser
Class JavaFloatBitsFromCharSequence
- java.lang.Object
-
- ch.randelshofer.fastdoubleparser.AbstractNumberParser
-
- ch.randelshofer.fastdoubleparser.AbstractFloatValueParser
-
- ch.randelshofer.fastdoubleparser.AbstractJavaFloatingPointBitsFromCharSequence
-
- ch.randelshofer.fastdoubleparser.JavaFloatBitsFromCharSequence
-
final class JavaFloatBitsFromCharSequence extends AbstractJavaFloatingPointBitsFromCharSequence
Parses afloatfrom aCharSequence.
-
-
Field Summary
-
Fields inherited from class ch.randelshofer.fastdoubleparser.AbstractFloatValueParser
MAX_EXPONENT_NUMBER, MAX_INPUT_LENGTH, MINIMAL_NINETEEN_DIGIT_INTEGER
-
Fields inherited from class ch.randelshofer.fastdoubleparser.AbstractNumberParser
CHAR_TO_HEX_MAP, DECIMAL_POINT_CLASS, ILLEGAL_OFFSET_OR_ILLEGAL_LENGTH, OTHER_CLASS, SYNTAX_ERROR, SYNTAX_ERROR_BITS, VALUE_EXCEEDS_LIMITS
-
-
Constructor Summary
Constructors Constructor Description JavaFloatBitsFromCharSequence()Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) longnan()(package private) longnegativeInfinity()(package private) longpositiveInfinity()(package private) longvalueOfFloatLiteral(java.lang.CharSequence str, int startIndex, int endIndex, boolean isNegative, long significand, int exponent, boolean isSignificandTruncated, int exponentOfTruncatedSignificand)Computes a float value from the given components of a decimal float literal.(package private) longvalueOfHexLiteral(java.lang.CharSequence str, int startIndex, int endIndex, boolean isNegative, long significand, int exponent, boolean isSignificandTruncated, int exponentOfTruncatedSignificand)Computes a float value from the given components of a hexadecimal float literal.-
Methods inherited from class ch.randelshofer.fastdoubleparser.AbstractJavaFloatingPointBitsFromCharSequence
parseFloatingPointLiteral
-
Methods inherited from class ch.randelshofer.fastdoubleparser.AbstractNumberParser
charAt, charAt, charAt, checkBounds, checkBounds, lookupHex, lookupHex
-
-
-
-
Method Detail
-
nan
long nan()
- Specified by:
nanin classAbstractJavaFloatingPointBitsFromCharSequence- Returns:
- a NaN constant in the specialized type wrapped in a
long
-
negativeInfinity
long negativeInfinity()
- Specified by:
negativeInfinityin classAbstractJavaFloatingPointBitsFromCharSequence- Returns:
- a negative infinity constant in the specialized type wrapped in a
long
-
positiveInfinity
long positiveInfinity()
- Specified by:
positiveInfinityin classAbstractJavaFloatingPointBitsFromCharSequence- Returns:
- a positive infinity constant in the specialized type wrapped in a
long
-
valueOfFloatLiteral
long valueOfFloatLiteral(java.lang.CharSequence str, int startIndex, int endIndex, boolean isNegative, long significand, int exponent, boolean isSignificandTruncated, int exponentOfTruncatedSignificand)Description copied from class:AbstractJavaFloatingPointBitsFromCharSequenceComputes a float value from the given components of a decimal float literal.- Specified by:
valueOfFloatLiteralin classAbstractJavaFloatingPointBitsFromCharSequence- Parameters:
str- the string that contains the float literal (and maybe more)startIndex- the start index (inclusive) of the float literal inside the stringendIndex- the end index (exclusive) of the float literal inside the stringisNegative- whether the float value is negativesignificand- the significand of the float value (can be truncated)exponent- the exponent of the float valueisSignificandTruncated- whether the significand is truncatedexponentOfTruncatedSignificand- the exponent value of the truncated significand- Returns:
- the bit pattern of the parsed value, if the input is legal;
otherwise,
-1L.
-
valueOfHexLiteral
long valueOfHexLiteral(java.lang.CharSequence str, int startIndex, int endIndex, boolean isNegative, long significand, int exponent, boolean isSignificandTruncated, int exponentOfTruncatedSignificand)Description copied from class:AbstractJavaFloatingPointBitsFromCharSequenceComputes a float value from the given components of a hexadecimal float literal.- Specified by:
valueOfHexLiteralin classAbstractJavaFloatingPointBitsFromCharSequence- Parameters:
str- the string that contains the float literal (and maybe more)startIndex- the start index (inclusive) of the float literal inside the stringendIndex- the end index (exclusive) of the float literal inside the stringisNegative- whether the float value is negativesignificand- the significand of the float value (can be truncated)exponent- the exponent of the float valueisSignificandTruncated- whether the significand is truncatedexponentOfTruncatedSignificand- the exponent value of the truncated significand- Returns:
- the bit pattern of the parsed value, if the input is legal;
otherwise,
-1L.
-
-