Crates.io | dotbits |
lib.rs | dotbits |
version | 0.3.0 |
source | src |
created_at | 2021-11-12 13:56:12.146658 |
updated_at | 2021-11-17 13:31:53.620095 |
description | unsigned int <-> Vec |
homepage | |
repository | https://github.com/ProspectPyxis/dotbits |
max_upload_size | |
id | 480944 |
size | 28,128 |
unsigned int <-> Vec<bool>, plus helper functions
dotbits is a rust library that simplifies bit manipulation. Its primary feature is the .bits()
function, which converts any unsigned integer type (u8
, u16
, u32
, u64
, u128
, usize
) into a Vec<bool>
. It also adds certain helper functions over Vec<bool>
.
WARNING: This crate is currently in the rapid iteration phase, and should not be considered stable. Certain methods may get added or removed very quickly between versions - use this crate at your own risk!
Add the following to your Cargo.toml
:
[dependencies]
dotbits = "0.3"
Bit shifts using negative numbers:
use dotbits::BitManip;
assert_eq!(24u32.signed_left_shift(2), 24u32 << 2);
assert_eq!(24u32.signed_left_shift(-2), 24u32 >> 2);
assert_eq!(24u32.signed_right_shift(2), 24u32 >> 2);
assert_eq!(24u32.signed_right_shift(-2), 24u32 << 2);
dotbits is distributed under the terms of both the MIT license and the Apache License (Version 2.0).