Sha256: 726f4b2b29d245d53b81172a5a8b20283e3a2a6fe938b99678e91e1b06cc89cf
Contents?: true
Size: 794 Bytes
Versions: 395
Compression:
Stored size: 794 Bytes
Contents
fn parse_hex_digit(c: char) -> Option<i64> { match c { '0' => Some(0), '1' => Some(1), '2' => Some(2), '3' => Some(3), '4' => Some(4), '5' => Some(5), '6' => Some(6), '7' => Some(7), '8' => Some(8), '9' => Some(9), 'a' => Some(10), 'b' => Some(11), 'c' => Some(12), 'd' => Some(13), 'e' => Some(14), 'f' => Some(15), _ => None, } } pub fn hex_to_int(string: &str) -> Option<i64> { let base: i64 = 16; string .chars() .rev() .enumerate() .fold(Some(0), |acc, (pos, c)| { parse_hex_digit(c).and_then(|n| { acc.map(|acc| acc + n * base.pow(pos as u32)) }) }) }
Version data entries
395 entries across 395 versions & 1 rubygems