Skip to content

Commit 3b1b13a

Browse files
committed
additional functions-1
1 parent 7f00b3e commit 3b1b13a

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

src/lib.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,30 @@ pub mod binary {
256256
pub fn put_le_signed_long(&mut self, value: i64) {
257257
self.buffer.extend_from_slice(&value.to_le_bytes());
258258
}
259+
260+
// 64-bit unsigned integers - Big-endian
261+
#[inline]
262+
pub fn get_be_unsigned_long(&mut self) -> u64 {
263+
let bytes = self.get(8);
264+
u64::from_be_bytes(bytes.try_into().unwrap())
265+
}
266+
267+
#[inline]
268+
pub fn put_be_unsigned_long(&mut self, value: u64) {
269+
self.buffer.extend_from_slice(&value.to_be_bytes());
270+
}
271+
272+
// 64-bit unsigned integers - Little-endian
273+
#[inline]
274+
pub fn get_le_unsigned_long(&mut self) -> u64 {
275+
let bytes = self.get(8);
276+
u64::from_le_bytes(bytes.try_into().unwrap())
277+
}
278+
279+
#[inline]
280+
pub fn put_le_unsigned_long(&mut self, value: u64) {
281+
self.buffer.extend_from_slice(&value.to_le_bytes());
282+
}
259283

260284
// Variable-length integers
261285
pub fn get_unsigned_var_int(&mut self) -> u32 {

0 commit comments

Comments
 (0)