bittersweet
Bittersweet is a library for bit manipulation.
Motivation
Bit-wise operations are often used in low-level programming and it sometimes contains magical bugs. I want to manipulate bits with more
- type-safe
- well-tested
- well-documented
- fast and efficient
Usage
Installation
You can install this library via cargo.
Or you can add this to your Cargo.toml
manually.
Example
use ;
Supported bitline length
Following Bitline traits are implemented for u8
, u16
, u32
, u64
, u128
.
So these operations keep zero-cost abstraction.
Bitline8
... 8 bits (u8
)Bitline16
... 16 bits (u16
)Bitline32
... 32 bits (u32
)Bitline64
... 64 bits (u64
)Bitline128
... 128 bits (u128
)
Documentation
See docs.rs
Manipulations
https://docs.rs/bittersweet/latest/bittersweet/bitline/trait.Bitline.html
as_empty
as_full
by_range
bytes_length
length
is_empty
is_not_empty
is_full
is_not_full
first_index
last_index
radius
around
with_around
first_bit
last_bit
first_bits
last_bits
filled_first_bit_to_last_bit
num_bits
bit_repr
range
includes
overlaps
range
remove
License
BSD-3-Clause