Crate lexical_util

Source
Expand description

Shared utilities for lexical conversion routines.

These are not meant to be used publicly for any numeric conversion routines, but provide optimized math routines, format packed struct definitions, and custom iterators for all workspaces.

§Features

  • std - Use the standard library.
  • power-of-two - Add support for parsing power-of-two integer strings.
  • radix - Add support for strings of any radix.
  • write-integers - Add support for writing integers.
  • write-floats - Add support for writing floats.
  • parse-integers - Add support for parsing integers.
  • parse-floats - Add support for parsing floats.
  • compact - Reduce code size at the cost of performance.

§Note

None of this is considered a public API: any of the implementation details may change release-to-release without major or minor version changes. Use internal implementation details at your own risk.

lexical-util mainly exists as an implementation detail for lexical-core, although its API is stable. If you would like to use a high-level API that writes to and parses from String and &str, respectively, please look at lexical instead. If you would like an API that supports multiple numeric conversions, please look at lexical-core instead.

§Version Support

The minimum, standard, required version is 1.51.0, for const generic support. Older versions of lexical support older Rust versions.

Modules§

  • Simple, shared algorithms for slices and iterators.
  • Utilities for working with ASCII characters.
  • Debugging assertions to check a radix is valid.
  • Pre-defined constants for numeric types.
  • Utilities to process digits.
  • Optimized division algorithms for u128.
  • Error type for numeric parsing functions.
  • Extended precision floating-point type.
  • Public API for the number format packed struct.
  • Specialized iterator traits.
  • Fast multiplication routines.
  • Utilities for Rust numbers.
  • Shared traits for the options API.
  • Result type for numeric parsing functions.
  • The maximum digits that can be held in a u64 for a given radix without overflow.

Macros§