Module rvsim::softfloat

source ·
Expand description

Berkeley SoftFloat bindings.

These are partial bindings, and only part of the SoftFloat package is actually linked into the library. Some of the names have been altered to be more in line with Rust naming.

Structs

A single-precision soft-float. Internally represented as u32.
A double-precision soft-float. Internally represented as u64.

Constants

Inexact result exception.
Result is infinity (division by zero).
Invalid operation (result is NaN).
Overflow exception.
Underflow exception.
Round towards +∞.
Round towards -∞.
Round towards 0.
Round to nearest, ties to even.
Round to nearest, ties away from 0.

Functions

Addition with single-precision values.
Division with single-precision values.
Test equality with single-precision values.
Whether the single-precision value is a signalling NaN.
Test less-than-or-equal with single-precision values.
Test less-than with single-precision values.
Multiplication with single-precision values.
Fused multiplication and addition with single-precision values.
Modulus / remainder with single-precision values.
Square root of a single-precision value.
Subtraction with single-precision values.
Convert a single-precision value to a double-precision value.
Convert a single-precision value to an i32.
Convert a single-precision value to a u32.
Addition with double-precision values.
Division with double-precision values.
Test equality with double-precision values.
Whether the double-precision value is a signalling NaN.
Test less-than-or-equal with double-precision values.
Test less-than with double-precision values.
Multiplication with double-precision values.
Fused multiplication and addition with double-precision values.
Modulus / remainder with double-precision values.
Square root of a double-precision value.
Subtraction with double-precision values.
Convert a double-precision value to a single-precision value.
Convert a double-precision value to an i32.
Convert a double-precision value to a u32.
Get the exception flags from thread-local storage.
Get the current rounding mode from thread-local storage.
Convert an i32 to a single-precision value.
Convert an i32 to a double-precision value.
Add to the exception flags.
Set the exception flags.
Set the rounding mode.
Convert a u32 to a single-precision value.
Convert a u32 to a double-precision value.