sequoia_openpgp/utils.rs
1//! Utility functions that don't fit anywhere else.
2use std::convert::TryFrom;
3
4pub fn read_be_u64(b: &[u8]) -> u64 {
5 let array = <[u8; 8]>::try_from(b).unwrap();
6 u64::from_be_bytes(array)
7}
8
9pub fn write_be_u64(b: &mut [u8], n: u64) {
10 b.copy_from_slice(&n.to_be_bytes());
11}
12
13#[cfg(test)]
14mod test {
15 use super::*;
16
17 quickcheck! {
18 fn be_u64_roundtrip(n: u64) -> bool {
19 let mut b = [0; 8];
20 write_be_u64(&mut b, n);
21 n == read_be_u64(&b)
22 }
23 }
24}