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_emptyas_fullby_rangebytes_lengthlengthis_emptyis_not_emptyis_fullis_not_fullfirst_indexlast_indexradiusaroundwith_aroundfirst_bitlast_bitfirst_bitslast_bitsfilled_first_bit_to_last_bitnum_bitsbit_reprrangeincludesoverlapsrangeremove
许可协议
BSD-3-Clause 许可协议