19 lines
444 B
Rust
19 lines
444 B
Rust
// Adapted from https://github.com/Alexhuszagh/rust-lexical.
|
|
|
|
//! Helpers to convert and add digits from characters.
|
|
|
|
// Convert u8 to digit.
|
|
#[inline]
|
|
pub(crate) fn to_digit(c: u8) -> Option<u32> {
|
|
(c as char).to_digit(10)
|
|
}
|
|
|
|
// Add digit to mantissa.
|
|
#[inline]
|
|
pub(crate) fn add_digit(value: u64, digit: u32) -> Option<u64> {
|
|
match value.checked_mul(10) {
|
|
None => None,
|
|
Some(n) => n.checked_add(digit as u64),
|
|
}
|
|
}
|