#软浮点 #包装器 #RISC-V #伯克利 #浮点16位 #API绑定 #软浮点-sys

softfloat-wrapper-riscv

基于softfloat-sys为RISC-V安全包装的Berkeley SoftFloat,基于https://github.com/dalance/softfloat-wrapper。

1个不稳定版本

0.1.0 2020年9月22日

#953 in 数学

MIT/Apache

1.5MB
21K SLoC

C 18K SLoC // 0.5% comments Rust 2.5K SLoC // 0.0% comments

softfloat-wrapper

softfloat-wrapper是基于伯克利SoftFloatsoftfloat-sys的安全包装。

Actions Status Crates.io Docs.rs

用法

[dependencies]
softfloat-wrapper = "0.1.1"

示例

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).bits());
    let b = f32::from_bits(b.to_f32(RoundingMode::TiesToEven).bits());
    let d = f32::from_bits(d.to_f32(RoundingMode::TiesToEven).bits());

    println!("{} + {} = {}", a, b, d);
}

许可

许可如下

任选其一。

贡献

除非您明确表示,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可定义,均应按上述方式双重许可,不得附加任何额外条款或条件。

依赖

~110–425KB