3 个版本
0.1.2 | 2023年7月17日 |
---|---|
0.1.1 | 2023年7月16日 |
0.1.0 | 2022年8月10日 |
#3 in #predicates
55KB
784 行(不含注释)
bittersweet
Bittersweet 是一个用于位操作的库。
动机
位运算常用于底层编程,有时会包含魔法般的问题。我希望用更
- 类型安全的
- 经过充分测试的
- 有良好文档的
- 快速且高效的
用法
安装
您可以通过 cargo 安装此库。
$ cargo add bittersweet
或者您可以将此添加到您的 Cargo.toml
中。
示例
use bittersweet::bitline::{Bitline, Bitline8};
fn main() {
let t = 0b00111000_u8 as Bitline8;
if t.includes(0b00110000_u8) {
println!("Yes!");
}
}
支持的位线长度
以下 Bitline 特性实现了 u8
,u16
,u32
,u64
,u128
。因此,这些操作保持了零成本抽象。
Bitline8
... 8 位(u8
)Bitline16
... 16 位(u16
)Bitline32
... 32 位(u32
)Bitline64
... 64 位(u64
)Bitline128
... 128 位(u128
)
文档
请参阅 docs.rs
操作
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
许可协议
BSD-3-Clause 许可协议