Crate softfp

Source
Expand description

Software floating point operation library.

Many floating operations require a rounding mode and can set a few exception flags. This library therefore expects two callbacks, softfp_get_rounding_mode and softfp_set_exception_flags. You can define them with #[no_mangle]. The calling convention is Rust, so there is no need for extern "C".

If you prefer not to define these callbacks with #[no_mangle], you can use the enabled-by-default “register” feature which allow you to register the function via register_get_rounding_mode and register_set_exception_flags instead. You must register them before using the library for any floating point operations. The simplest way would be track them using thread_local! variables.

Structs§

ExceptionFlags
Floating point exception flags, as bit masks.
Fp
Generic type for software floating point operations.

Enums§

Class
Floating point classification result.
RoundingMode
Floating point rounding modes.

Functions§

register_get_rounding_mode
Register a function to be used when rounding mode is to be accessed.
register_set_exception_flags
Register a function to be called when a floating point exception happens.

Type Aliases§

F32
Software floating point equivalent of f32
F64
Software floating point equivalent of f64