semx_bitops
位操作原语与动态大小位图,对标 Linux 内核 <linux/bitops.h> + <linux/bitmap.h>。
#![no_std],依赖 alloc(仅 BitMap),可在裸机 / 嵌入式 / 内核场景直接使用。
功能
- 位操作原语 —
set_bit、clear_bit、test_bit、find_first_bit、find_next_zero_bit等,操作&[usize]切片 - 位域提取与插入 —
extract8/16/32/64、deposit32/64 - 位交错 —
half_shuffle32/64、half_unshuffle32/64 - 动态位图
BitMap— 基于Vec<usize>的变长位图,支持集合运算、区间操作、连续空闲区域查找
用法
位操作原语
use ;
let mut bits = ;
set_bit;
assert!;
assert_eq!;
位域操作
use ;
let val = 0x8000_008Eu32;
assert_eq!;
let val = deposit32;
assert_eq!;
动态位图
use BitMap;
let mut bm = create;
bm.set_range;
assert_eq!;
assert_eq!;
assert_eq!;