#finite #nan #float #infinite

fin

有限,无 NaN 的浮点数。目前尚未准备好使用!

2 个版本

使用旧的 Rust 2015

0.0.2 2017年11月4日
0.0.1 2017年11月2日

#17 in #infinite

MIT 许可证

15KB
345

fin - 为 Rust 提供有限,无 NaN 的浮点数

处理浮点数可能有些痛苦,因为浮点数可能携带未被类型系统处理的错误条件。此外,Rust 没有为 f3f64 实现排序 Ord 特性。这是正确的,因为在存在 NaN 值的情况下,全序没有意义。

fin 旨在通过零成本抽象(从性能损失不超过手动检查必要条件的角度)来改进这种情况

用法

将此添加到您的 Cargo.toml(由于 fin 项目变动很大,目前首选从 GitHub 获取此包的方式)

[dependencies]
fin = { git = "https://github.com/madmalik/fin.git" }

并将此添加到您的 crate 根目录

extern crate fin;

原理

Fin 使用会话类型来跟踪浮点数的性质。

许可证

MIT


lib.rs:

处理浮点数可能有些痛苦,因为浮点数可能携带错误条件(非数字和溢出的无穷大)并且 Rust 正确地没有实现排序。

...

依赖项

~240KB