10个版本
0.3.4 | 2023年6月26日 |
---|---|
0.3.3 | 2021年3月16日 |
0.3.2 | 2021年1月15日 |
0.2.0 | 2020年11月8日 |
0.1.1 | 2020年8月20日 |
#185 in 数学
74 每月下载次数
76KB
2K SLoC
softfloat-wrapper
softfloat-wrapper是基于softfloat-sys的安全包装器,用于Berkeley SoftFloat。
使用
[dependencies]
softfloat-wrapper = "0.3.4"
示例
use softfloat_wrapper::{Float, F16, RoundingMode};
fn main() {
let a = 0x1234;
let b = 0x1479;
let a = F16::from_bits(a);
let b = F16::from_bits(b);
let d = a.add(b, RoundingMode::TiesToEven);
let a = f32::from_bits(a.to_f32(RoundingMode::TiesToEven).to_bits());
let b = f32::from_bits(b.to_f32(RoundingMode::TiesToEven).to_bits());
let d = f32::from_bits(d.to_f32(RoundingMode::TiesToEven).to_bits());
println!("{} + {} = {}", a, b, d);
}
功能
支持一些架构
- 8086
- 8086-SSE(默认)
- ARM-VFPv2
- ARM-VFPv2-DefaultNaN
- RISCV
您可以通过以下方式指定架构
[dependencies.softfloat-wrapper]
version = "0.3.4"
default-features = false
features = ["riscv"]
许可证
许可如下
- Apache许可证第2版 (LICENSE-APACHE 或 http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献,均应按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~2MB
~27K SLoC