3 个版本

0.1.2 2021 年 5 月 28 日
0.1.1 2021 年 5 月 13 日
0.1.0 2021 年 5 月 12 日

缓存 类别中排名 390

MIT 许可证

17KB
218 行(不含注释)

常数整除的基线实现

当整除编译时常量时,编译器(LLVM)可以信赖将其转换为乘法和移位序列。

当常量在运行时才知道时,这就不太好了。

这个crate实现了一种简单的策略,具有可靠的性能。可靠意味着好吗? 对于这个应用来说,是的。

基本的 PartialReciprocal 应该编译为常数时间快速路径,可以处理除 0、1 和 u64::MAX 以外的所有除数。

稍微复杂一些的 Reciprocal 也可以除以 1 和 u64::MAX,但代价是增加一个 u64 字段,以及一个稍微复杂的(多一次加载,可能多一次整数运算指令)快速路径。

无运行时依赖