Module lexical_util::step
source · [−]Expand description
The maximum digits that can be held in a u64 for a given radix without overflow.
This is useful for 128-bit division and operations, since it can reduces the number of inefficient, non-native operations.
Generation
See etc/step.py
for the script to generate the divisors and the
constants, and the division algorithm.
Functions
Calculate the maximum number of digits that can be processed
without always overflowing for a given type. For example, 20 digits can
be processed for a decimal string for u64
without overflowing, but
it may overflow.
Calculate the maximum number of digits that can always be processed
without overflowing for a given type. For example, 19 digits can
always be processed for a decimal string for u64
without overflowing.
Calculate the number of digits that can be processed without overflowing a u64. Helper function since this is used for 128-bit division.