quickbits

Crates.ioquickbits
lib.rsquickbits
version0.1.1
sourcesrc
created_at2023-07-15 12:06:14.34358
updated_at2024-10-26 15:27:51.666052
descriptionFast bit manipulation routines for Rust's native integer types
homepage
repositoryhttps://git.jekel.ca/JZJ/quickbits
max_upload_size
id917200
size30,164
John Jekel (JZJisawesome)

documentation

https://docs.rs/quickbits/latest/quickbits/

README

quickbits

Minimal #![no_std] library for manipulating bits in primitive Rust integers, with succinct Verilog-like syntax.

For when you don't need the full heft of the bitvec crate, and want a bit more convenient syntax. :)

You can simply add use quickbits::BitManip; and start using the methods on any primitive integer type in your code!

Examples

use quickbits::BitManip;
let x: u32 = 0xABCD1234;
assert_eq!(x.b(3..=0), 0x4);
assert_eq!(x.b(7..=4), 0x3);
assert_eq!(x.b(31..=8), 0xABCD12);
assert_eq!(x.permute(&[23..=8, 7..=0, 31..=24]), 0xCD1234AB);
assert_eq!(x.toggle_bit(31), 0x2BCD1234);
assert_eq!(x.toggle_bit(31), 0x2BCD1234);
Commit count: 0

cargo fmt