#floating-point #float #no-std #numeric #parallel-iterator

no-std ieee754

对IEEE754浮点数的底层操作

9个版本

使用旧的Rust 2015

0.3.0-alpha.22020年12月20日
0.2.6 2019年1月13日
0.2.2 2017年5月17日
0.2.1 2015年11月19日
0.1.1 2015年5月12日

数学类别的第348

Download history 23850/week @ 2024-03-14 25084/week @ 2024-03-21 25670/week @ 2024-03-28 30206/week @ 2024-04-04 33444/week @ 2024-04-11 31475/week @ 2024-04-18 28609/week @ 2024-04-25 30130/week @ 2024-05-02 27676/week @ 2024-05-09 24667/week @ 2024-05-16 26265/week @ 2024-05-23 29024/week @ 2024-05-30 27335/week @ 2024-06-06 29833/week @ 2024-06-13 26703/week @ 2024-06-20 36155/week @ 2024-06-27

125,919次每月下载
227个Crates中使用了(17直接)

MIT/Apache

75KB
1K SLoC

ieee754

Build Status codecov

对IEEE754浮点数的底层操作。

此库包括

  • no_std默认支持,
  • ulp计算(最后一位的单位,表示浮点数的分辨率),
  • nextafternextprev)、copysigncopy_sign)、abssign等杂项函数,
  • IEEE-754 totalOrder谓词,用于在浮点数上执行类似Ord::cmp的比较,
  • 范围中每个浮点值的迭代器,
  • 范围中每个浮点值的并行迭代器(可选:使用rayon功能激活),
  • 相对误差计算。

文档crates.io


lib.rs:

对IEEE754浮点数的底层操作。

安装

将此添加到您的Cargo.toml中

[dependencies]
ieee754 = "0.2"

要启用rayon并行迭代,激活可选的rayon功能

[dependencies]
ieee754 = { version = "0.2", features = ["rayon"] }

示例

use ieee754::Ieee754;

// there are 840 single-precision floats between 1.0 and 1.0001
// (inclusive).
assert_eq!(1_f32.upto(1.0001).count(), 840);

如果启用了rayon,这可以在并行中执行

extern crate ieee754;
extern crate rayon;

use ieee754::Ieee754;
use rayon::prelude::*;

// there are 840 single-precision floats between 1.0 and 1.0001
// (inclusive).
assert_eq!(1_f32.upto(1.0001).into_par_iter().count(), 840);

依赖关系

~0–285KB