#sqrt #square-root #quake #inverse #compute #algorithm

quake-inverse-sqrt

Quake Inverse Square root 算法的 Rust 实现

4 个版本

0.1.3 2022 年 5 月 26 日
0.1.2 2022 年 5 月 23 日
0.1.1 2022 年 5 月 23 日
0.1.0 2022 年 5 月 23 日

#1041 in 数学

GPL-3.0-only

15KB
74

这是一个简单的 Quake III 反平方根算法的 Rust 实现。

安全性

主要特质实现未标记为不安全。然而,由于在底层使用了 std::mem::transmute,总是存在未定义行为的风险。

然而,库保证在大小相等的类型之间进行所需的转换。


lib.rs:

quake-inverse-sqrt

此 crate 实现了一个特质,用于所有数值基类型,使它们能够使用臭名昭著的 Quake III 算法计算自己的倒数平方根。

结果为了执行速度而进行了近似。

示例

let num: f32 = 4.0.fast_inverse_sqrt();
assert!(num > 0.49 && num < 0.51);

无运行时依赖