Skip to main content

Crate semx_bitops

Crate semx_bitops 

Source
Expand description

位操作原语与位域操作

Modules§

bitmap
动态大小位图

Constants§

BITS_PER_BYTE
每字节位数
BITS_PER_LONG
usize 位数

Functions§

bit
返回仅第 nr 位为一的 usize 掩码
bit_mask
返回第 nr 位在其所在 word 内的掩码
bit_ull
返回仅第 nr 位为一的 u64 掩码
bit_word
返回第 nr 位所在的 word 索引
bits_to_longs
计算存储 nr 位所需的 usize word 数
change_bit
翻转第 nr
clear_bit
清除第 nr
deposit32
fieldval 写入 value[start, start + length) 位域(u32)
deposit64
fieldval 写入 value[start, start + length) 位域(u64)
extract8
value 中提取 [start, start + length) 位域(u8)
extract16
value 中提取 [start, start + length) 位域(u16)
extract32
value 中提取 [start, start + length) 位域(u32)
extract64
value 中提取 [start, start + length) 位域(u64)
find_first_bit
查找第一个为一的位, 找不到时返回 size
find_first_zero_bit
查找第一个为零的位, 找不到时返回 size
find_last_bit
查找最后一个为一的位, 找不到时返回 size
find_next_bit
offset 起查找下一个为一的位, 找不到时返回 size
find_next_zero_bit
offset 起查找下一个为零的位, 找不到时返回 size
half_shuffle32
将低 16 位交错展开到奇数位, 偶数位清零(u32)
half_shuffle64
将低 32 位交错展开到奇数位, 偶数位清零(u64)
half_unshuffle32
将奇数位压缩到低半部分, 高半部分清零(u32)
half_unshuffle64
将奇数位压缩到低半部分, 高半部分清零(u64)
make_64bit_mask
生成从 shift 起长度为 length 的 64 位掩码
set_bit
置位第 nr
test_and_change_bit
翻转第 nr 位, 返回该位的旧值
test_and_clear_bit
清除第 nr 位, 返回该位的旧值
test_and_set_bit
置位第 nr 位, 返回该位的旧值
test_bit
测试第 nr 位是否为一