Crates.io | bit-array-rs |
lib.rs | bit-array-rs |
version | 0.0.3 |
source | src |
created_at | 2024-09-02 09:09:39.306869 |
updated_at | 2024-09-02 19:04:49.155671 |
description | Bit Array |
homepage | |
repository | https://github.com/piot/bit-array-rs |
max_upload_size | |
id | 1360319 |
size | 15,798 |
bit-array-rs
is a Rust library that provides a simple and efficient implementation of a bit array. A bit array (or bit vector) is a data structure that compactly stores bits (0s and 1s).
Add the following to your Cargo.toml
:
[dependencies]
bit-array-rs = "0.0.3"
use bit_array_rs::BitArray;
fn main() {
let mut bit_array = BitArray::new(16);
bit_array.set(3);
bit_array.set(7);
println!("{:?}", bit_array); // Outputs: "00001000 10000000"
println!("{}", bit_array); // Outputs: "0000100010000000"
}
use bit_array_rs::BitArray;
fn main() {
let mut bit_array = BitArray::new(8);
bit_array.set(2);
bit_array.unset(2);
assert_eq!(bit_array[2], false);
bit_array.set_bit(2, true);
assert_eq!(bit_array[2], true);
}
use bit_array_rs::BitArray;
fn main() {
let mut bit_array = BitArray::new(16);
bit_array.set(3);
bit_array.set(5);
assert_eq!(bit_array.first_unset_bit(), Some(0));
assert_eq!(bit_array.first_set_bit(), Some(3));
}
use bit_array_rs::BitArray;
fn main() {
let mut bit_array = BitArray::new(16);
bit_array.set(3);
bit_array.set(7);
bit_array.set(9);
bit_array.set(15);
println!("{:?}", bit_array); // Outputs: "00010001 01000001"
println!("{}", bit_array); // Outputs: "0001000101000001"
}
This project is licensed under the MIT License - see the LICENSE file for details.