#位运算 # #算法 #便携 #操作

no-std bitwise

可移植的高级位运算算法

2 个版本

使用旧的 Rust 2015

0.1.1 2017年2月23日
0.1.0 2017年2月22日

986硬件支持

每月下载 22

MIT 许可证

115KB
2K SLoC

可移植的高级位运算算法

crates.io version Travis build status Coveralls.io code coverage Docs License

我们之所以做这些,是因为我们能够做到。

算法

  • 具有描述性名称,以简化位运算的代码阅读
  • 通常优化为完美的汇编代码(并且始终在夜间使用 bitintr crate)
  • 目前仅在 稳定版 不稳定版上工作 :( 由于目前的专业化。

示例

extern crate bitwise;
use bitwise::word::*;

fn main() {
  let u = outer_perfect_shuffle(0b_1001_1111u8);
  let v = inner_perfect_shuffle(0b_1001_1111u8);
  let w = u.copy_bit(4u8, v, 3u8);
  assert_eq!(w.parallel_bits_deposit(u), 0b_1001_0011u8);
}

支持的编译器

所需的最小 rustc 版本是 >= 1.13.0

目前需要不稳定版。

性能

某些算法(如Morton Z-Curve编码/解码例程)在编译时根据目标功能(如BMI2支持)切换实现。

许可证

MIT 许可证 下许可。

致谢

在我们之前的巨人

贡献

请!请注意,所有贡献都应按照上述方式许可,不得附加任何额外条款或条件。

依赖

~73KB