Skip to main content

noodles_csi/io/reader/
num.rs

1use 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}