// The code in this module is derived from the `lexical` crate by @Alexhuszagh // which the author condensed into this minimal subset for use in serde_json. // For the serde_json use case we care more about reliably round tripping all // possible floating point values than about parsing any arbitrarily long string // of digits with perfect accuracy, as the latter would take a high cost in // compile time and performance. // // Dual licensed as MIT and Apache 2.0 just like the rest of serde_json, but // copyright Alexander Huszagh. //! Fast, minimal float-parsing algorithm. // MODULES pub(crate) mod algorithm; mod bhcomp; mod bignum; mod cached; mod cached_float80; mod digit; mod errors; pub(crate) mod exponent; pub(crate) mod float; mod large_powers; pub(crate) mod math; pub(crate) mod num; pub(crate) mod parse; pub(crate) mod rounding; mod shift; mod small_powers; #[cfg(limb_width_32)] mod large_powers32; #[cfg(limb_width_64)] mod large_powers64; // API pub use self::parse::{parse_concise_float, parse_truncated_float};