2个版本
| 0.1.1 | 2024年6月30日 |
|---|---|
| 0.1.0 | 2024年6月29日 |
#501 in 数学
510KB
8K SLoC
srmfpa
浮点数的四种算术运算(包括融合乘加)和严格舍入模式的平方根。
use srmfpa::prelude::*;
// Support add, sub, mul, div, mul_add (fma) and sqrt
assert_eq!(0.1.round_ties_even_add(0.2), 0.30000000000000004);
assert_eq!(0.1.ciel_add(0.2), 0.30000000000000004);
assert_eq!(0.1.floor_add(0.2), 0.3);
assert_eq!(0.1.trunc_add(0.2), 0.3);
assert_eq!((-0.1).round_ties_even_add(-0.2), -0.30000000000000004);
assert_eq!((-0.1).ciel_add(-0.2), -0.3);
assert_eq!((-0.1).floor_add(-0.2), -0.30000000000000004);
assert_eq!((-0.1).trunc_add(-0.2), -0.3);
// Generic ops
assert_eq!(0.1.round_add(0.2, &RoundingMode::NearestTiesEven), 0.30000000000000004);
// Functions are available
use srmfpa::f64::{ciel_add, floor_add};
assert_eq!(ciel_add(0.1, 0.2), 0.30000000000000004);
assert_eq!(floor_add(0.1, 0.2), 0.3);
特性
softfloat:使用软浮点数来支持f32和f64(启用f32_softfloat和f64_softfloat)。f32_softfloat:通过 Berkeley SoftFloat 3 支持软浮点数f32f64_softfloat:通过 Berkeley SoftFloat 3 支持软浮点数f64f16_softfloat:通过 Berkeley SoftFloat 3 支持软浮点数f16f128_softfloat:通过 Berkeley SoftFloat 3 支持软浮点数f128
许可证
MIT 或 Apache-2.0
依赖项
~185KB