The fast_float library provides fast header-only implementations for the C++ from_chars functions for float and double types as well as integer types. These functions convert ASCII strings representing decimal values (e.g., 1.3e10) into binary types. We provide exact rounding (including round to even). In our experience, these fast_float functions many times faster than comparable number-parsing functions from existing C++ standard libraries. It parses the character sequence [first,last) for a number. It parses floating-point numbers expecting a locale-independent format equivalent to the C++17 from_chars function. The resulting floating-point value is the closest floating-point value (using either float or double), using the "round to even" convention for values that would otherwise fall right in between two values. That is, we provide exact parsing according to the IEEE standard.
Features
- We only support float and double types at this time
- Documentation available
- Integer types
- We support Visual Studio, macOS, Linux, freeBSD
- We support 32-bit and 64-bit systems
- C++23: Fixed width floating-point types
- Non-ASCII Inputs