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 数学

Download history 28/week @ 2024-03-14 674/week @ 2024-03-21 22/week @ 2024-03-28 1/week @ 2024-04-04

74 每月下载次数

MIT/Apache

76KB
2K SLoC

softfloat-wrapper

softfloat-wrapper是基于softfloat-sys的安全包装器,用于Berkeley SoftFloat。

Actions Status Crates.io Docs.rs

使用

[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.0许可证定义,您有意提交的任何贡献,均应按上述方式双许可,不附加任何额外条款或条件。

依赖关系

~2MB
~27K SLoC