Skip to main content

primitive_float_fractional_part

Function primitive_float_fractional_part 

Source
pub fn primitive_float_fractional_part<T>(x: T) -> T
where Float: From<T> + PartialOrd<T>, for<'a> T: ExactFrom<&'a Float> + PrimitiveFloat,
Expand description

Computes the fractional part of a primitive float, using emulated Float arithmetic.

The result is always exactly representable, matching the standard library’s fract for finite values with a nonzero fractional part; it serves as a reference implementation. As in mpfr_frac, a zero result takes the input’s sign (where fract of a negative integer is a positive zero), and the fractional part of an infinity is a zero of the same sign (where fract returns NaN).

§Worst-case complexity

Constant time and additional memory.

§Examples

use malachite_base::num::float::NiceFloat;
use malachite_float::float::arithmetic::fractional_part::primitive_float_fractional_part;

assert_eq!(
    NiceFloat(primitive_float_fractional_part(10.5)),
    NiceFloat(0.5)
);
assert_eq!(
    NiceFloat(primitive_float_fractional_part(-10.5)),
    NiceFloat(-0.5)
);