Crate awint_internals[−][src]
Expand description
This crate contains common utilities for crates within the awint
system.
Some of these are highly unsafe macros that were only placed here because
#[macro_export]
unconditionally causes macros to be publicly accessible.
To prevent them from being accessible from intended userfacing crates, this
_internals
crate was made. The safety requirements of these macros may
change over time, so this crate should never be used outside of this system.
Macros
binop_for_each  If 
binop_for_each_mut  If 
const_for  A basic for loop for const contexts 
for_each 

for_each_mut 

subdigits_mut  Runs 
Enums
SerdeError  A serialization or deserialization error 
Constants
BITS  Maximum bitwidth of an inline 
INV_LB_I1F15  Reciprocal binary logarithms of the numbers 2..=36 rounded up and in u16p15 fixed point format 
LB_I3F13  Binary logarithms of the integers 2..=36 rounded up and in u16p13 fixed point format 
MAX  Maximum value of an inline 
Functions
bits_upper_bound  This is used for quickly calculating the maximum number of bits
needed for a string representation of a number in some radix to be
represented. This may give more bits than needed, but is guaranteed to never
underestimate the number of bits needed.
Returns 
bw  Utility free function for converting a 
chars_upper_bound  This takes an input of significant bits and gives an upper bound for the
number of characters in the given 
dd_division  Divides 
digits  
extra  
regular_digits  
widen_add  Computes x + y + z and returns the widened result as a tuple. 
widen_mul_add  Computes (x * y) + z. This cannot overflow, because it returns the value widened into a tuple, where the first element is the least significant part of the integer and the second is the most significant. 