csFastFloat
This class is intented to parse double values from inputs such as string, readonlyspans and char pointers
There's two set of functions, one for UTF-16 encoding another for UTF-8 encoding
This is a C# port of Daniel Lemire's fast_float library written in C++
https://github.com/fastfloat/fast_float
Resolve the adjusted mantissa back to its corresponding double value
bool: true indicates a negative value should be returned
adjusted mantissa (mantissa and exponent)
double value corresponding
Clinger's fast path
Parsed info of the input
Try parsing a double from a UTF-16 encoded string in the given number style
input string
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-16 encoded string in the given number style, counting number of consumed caracters
input string
number of consumed caracters while parsing
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-16 encoded string in the given number style
input as a readonly span
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-16 encoded span of chars in the given number style, counting number of consumed caracters
input as a readonly span
number of consumed caracters while parsing
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-16 encoded input in the given number style
char pointer to the begining of the string
char pointer to the end of the string
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-8 encoded span of bytes in the given number style
input string as Readonly span
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-8 encoded span of bytes in the given number style, counting number of consumed caracters
input string as Readonly span
number of consumed caracters while parsing
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-16 encoded input in the given number style, counting number of consumed caracters
char pointer to the begining of the string
char pointer to the end of the string
number of consumed caracters while parsing
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-8 encoded input in the given number style
byte pointer to the begining of the string
byte pointer to the end of the string
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a double from a UTF-8 encoded input in the given number style, counting number of consumed caracters
byte pointer to the begining of the string
byte pointer to the end of the string
number of consumed caracters while parsing
output double value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Parses double from a UTF-16 encoded string in the given number style
input string
allowed styles for the input string
decimal separator to be used
parsed double value
Parses double from a UTF-16 encoded string in the given number style counting number of characters consumed
input string
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed double value
Parses double from a UTF-16 encoded readonly span of chars in the given number style
input as a readonly span of char
allowed styles for the input string
decimal separator to be used
parsed double value
Parses double from am UTF-16 encoded readonly span of chars in the given number style counting number of characters consumed
input as a readonly span of char
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed double value
Parses double from a UTF-16 encoded input in the given number style
char pointer to the begining of the input
char pointer to the end of the input
allowed styles for the input string
decimal separator to be used
parsed double value
Parses double from a UTF-8 encoded readonly span of bytes in the given number style
input as a readonly span of bytes
allowed styles for the input string
decimal separator to be used
parsed double value
Parses double from a UTF-8 encoded readonly span of bytes in the given number style counting number of characters consumed
input as a readonly span of bytes
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed double value
Parses double from a UTF-16 encoded input in the given number style counting number of characters consumed
char pointer to the begining of the input
char pointer to the end of the input
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed double value
Parses double from a UTF-8 encoded input in the given number style counting number of characters consumed
byte pointer to the begining of the input
byte pointer to the end of the input
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed double value
Try to parse the input (UTF-16) and compute the double value
char pointer to the begining of the input
char pointer to the end of the input
number of characters consumed while parsing
out float : parsed float value
allowed styles for the input string
decimal separator to be used
bool : true indicates a succesful parsing
Try to parse the input (UTF-8) and compute the double value
byte pointer to the begining of the input
byte pointer to the end of the input
number of characters consumed while parsing
out float : parsed float value
allowed styles for the input string
decimal separator to be used
bool : true indicates a succesful parsing
Daniel Lemire's Fast-float algorithm
please refer to https://arxiv.org/abs/2101.11408
exponemt
decimal mantissa
Adjusted mantissa
This class is intented to parse float values from inputs such as string, readonlyspans and char pointers
There's two set of functions, one for UTF-16 encoding another for UTF-8 encoding
This is a C# port of Daniel Lemire's fast_float library written in C++
https://github.com/fastfloat/fast_float
Resolve the adjusted mantissa back to its corresponding float value
bool: true indicates a negative value should be returned
adjusted mantissa (mantissa and exponent)
float value corresponding
Clinger's fast path
Parsed info of the input
Try parsing a float from a UTF-16 encoded string in the given number style
input string
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-16 encoded string in the given number style, counting number of consumed caracters
input string
number of consumed caracters while parsing
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-16 encoded readonly span of chars in the given number style
input string
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-16 encoded readonly span of chars in the given number style, counting number of consumed caracters
input string
number of consumed caracters while parsing
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-16 encoded input in the given number style
char pointer to the begining of the input
char pointer to the end of the input
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-16 encoded input in the given number style, counting number of consumed caracters
char pointer to the begining of the input
char pointer to the end of the input
number of consumed caracters while parsing
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-8 encoded readonly span of bytes in the given number style
readonly span of bytes
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-8 encoded readonly span of bytes in the given number style, counting number of consumed caracters
readonly span of bytes
number of consumed caracters while parsing
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-8 encoded inputin the given number style
byte pointer to the begining of the input
byte pointer to the end of the input
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Try parsing a float from a UTF-8 encoded inputin the given number style, counting number of consumed caracters
byte pointer to the begining of the input
byte pointer to the end of the input
number of consumed caracters while parsing
output float value
allowed styles for the input string
decimal separator to be used
bool : true is sucessfuly parsed
Parses float from a UTF-16 encoded string in the given number style
input string
allowed styles for the input string
decimal separator to be used
parsed float value
Parses float from a UTF-16 encoded string in the given number style counting number of characters consumed
input string
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed float value
Parses float from a UTF-16 encoded readonly span of chars in the given number style
readonly span of chars
allowed styles for the input string
decimal separator to be used
parsed double value
Parses float from a UTF-16 encoded readonly span of chars in the given number style counting number of characters consumed
readonly span of chars
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed float value
Parses float from a UTF-16 encoded input in the given number style
char pointer to the begining of the input
char pointer to the end of the input
allowed styles for the input string
decimal separator to be used
parsed float value
Parses float from a UTF-8 encoded readonly span of bytes in the given number
readonly span of bytes
allowed styles for the input string
decimal separator to be used
parsed float value
Parses float from a UTF-16 encoded string in the given number style counting number of characters consumed
input string
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed float value
Parses float from a UTF-16 encoded input in the given number style counting number of characters consumed
char pointer to the begining of the input
char pointer to the end of the input
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed float value
Parses float from a UTF-8 encoded input in the given number style counting number of characters consumed
byte pointer to the begining of the input
byte pointer to the end of the input
number of character consumed while parsing
allowed styles for the input string
decimal separator to be used
parsed float value
Try to parse the input (UTF-16) and compute the float value
char pointer to the begining of the input
char pointer to the end of the input
number of characters consumed while parsing
out float : parsed float value
allowed styles for the input string
decimal separator to be used
bool: true indicates a succesful parsing
Try to parse the input (UTF-8) and compute the float value
byte pointer to the begining of the input
byte pointer to the end of the input
number of characters consumed while parsing
out float : parsed float value
allowed styles for the input string
decimal separator to be used
/// bool: true indicates a succesful parsing
Daniel Lemire's Fast-float algorithm
please refer to https://arxiv.org/abs/2101.11408
exponemt
decimal mantissa
Adjusted mantissa
Fast-float algorithm - fallback using decimal info
Decimal info structure
Adjusted mantissa