noodles_csi/io/reader/
num.rs1use std::{
2 io::{self, Read},
3 mem,
4};
5
6pub(crate) fn read_i32_le<R>(reader: &mut R) -> io::Result<i32>
7where
8 R: Read,
9{
10 let mut buf = [0; mem::size_of::<i32>()];
11 reader.read_exact(&mut buf)?;
12 Ok(i32::from_le_bytes(buf))
13}
14
15pub(crate) fn read_u32_le<R>(reader: &mut R) -> io::Result<u32>
16where
17 R: Read,
18{
19 let mut buf = [0; mem::size_of::<u32>()];
20 reader.read_exact(&mut buf)?;
21 Ok(u32::from_le_bytes(buf))
22}
23
24pub(crate) fn read_u64_le<R>(reader: &mut R) -> io::Result<u64>
25where
26 R: Read,
27{
28 let mut buf = [0; mem::size_of::<u64>()];
29 reader.read_exact(&mut buf)?;
30 Ok(u64::from_le_bytes(buf))
31}