softfloat-wrapper

softfloat-wrapper is a safe wrapper of Berkeley SoftFloat based on softfloat-sys.

Actions Status Crates.io Docs.rs

Usage

Cargo.toml [dependencies] softfloat-wrapper = "0.2.0"

Example

```rust 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);

} ```

Feature

Some architectures are supported:

You can specify architecture through feature like below:

Cargo.toml [dependencies.softfloat-wrapper] version = "0.2.0" default-features = false features = ["riscv"]

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.