1 个不稳定版本
0.1.0 | 2021 年 11 月 30 日 |
---|
#246 in 无标准库
5.5MB
56K SLoC
在 SIMD 向量中修剪元素
此crate是 Daniel Lemire 的C库 simdprune 的移植。
掩码“标记”输入中的删除值。因此,如果掩码为奇数,则第一个值被标记为删除。此函数生成一个新向量,它以所有未删除的值开始。
传递掩码 0 将简单地复制提供的向量。
注意,这与 AVX512 VCOMPRESS/VPCOMRESS 指令的掩码行为相反。如果您有 AVX512,则此crate的大部分功能可以使用这些指令执行。
示例
请参阅 prune_epi32
.
功能
以下所有功能默认启用。
- std - 启用标准库。禁用此功能将启用
no_std
crate 属性。 - large_tables - 启用如
prune_epi8
等需要大表(>1MB)的功能。禁用此功能可能会加快编译速度。
lib.rs
:
在 SIMD 向量中修剪元素
此crate是 Daniel Lemire 的C库 simdprune 的移植。
掩码“标记”输入中的删除值。因此,如果掩码为奇数,则第一个值被标记为删除。此函数生成一个新向量,它以所有未删除的值开始。
传递掩码 0 将简单地复制提供的向量。
注意,这与 AVX512 VCOMPRESS/VPCOMRESS 指令的掩码行为相反。如果您有 AVX512,则此crate的大部分功能可以使用这些指令执行。
示例
请参阅 prune_epi32
.
功能
以下所有功能默认启用。
- std - 启用标准库。禁用此功能将启用
no_std
crate 属性。 - large_tables - 启用如
prune_epi8
等需要大表(>1MB)的功能。禁用此功能可能会加快编译速度。