Expand description

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

Examples

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

Structs

  • bfloat16
  • exception flags defined by standard
  • standard 16-bit float
  • standard 32-bit float
  • standard 64-bit float
  • standard 128-bit float

Enums

  • floating-point rounding mode defined by standard

Traits

  • arbitrary floting-point type