softfloat-wrapper-riscv

Crates.iosoftfloat-wrapper-riscv
lib.rssoftfloat-wrapper-riscv
version0.1.0
sourcesrc
created_at2020-09-22 13:01:12.73807
updated_at2020-09-22 13:01:12.73807
descriptiona safe wrapper of Berkeley SoftFloat based on softfloat-sys for RISC-V based on https://github.com/dalance/softfloat-wrapper
homepage
repositoryhttps://github.com/msyksphinz-self/softfloat-sys-riscv
max_upload_size
id291540
size66,834
msyksphinz-self (msyksphinz-self)

documentation

README

softfloat-wrapper

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

Actions Status Crates.io Docs.rs

Usage

[dependencies]
softfloat-wrapper = "0.1.1"

Example

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);
}

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.

Commit count: 7

cargo fmt