diff options
author | Yi Kong <yikong@google.com> | 2020-08-31 01:25:28 +0800 |
---|---|---|
committer | Yi Kong <yikong@google.com> | 2020-08-31 01:25:28 +0800 |
commit | d600cb0f78a45ac8dee7efdc7e2e6a3193fcd380 (patch) | |
tree | c7ffe5daf0fac85734050e301d968a87bfac47aa /src/lexical/digit.rs | |
parent | e8a4b2f9b7ef3e3a1f064a9926e9d7b2c20c6221 (diff) | |
download | serde_json-d600cb0f78a45ac8dee7efdc7e2e6a3193fcd380.tar.gz |
Import 'serde_json' crate version 1.0.57
Bug: 163175424
Test: N/A
Change-Id: I8e665db0617be60a7e3732acd21d33ddbbf7cefd
Diffstat (limited to 'src/lexical/digit.rs')
-rw-r--r-- | src/lexical/digit.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lexical/digit.rs b/src/lexical/digit.rs new file mode 100644 index 0000000..882aa9e --- /dev/null +++ b/src/lexical/digit.rs @@ -0,0 +1,15 @@ +// 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> { + value.checked_mul(10)?.checked_add(digit as u64) +} |