Function creusot_contracts::std::arch::x86_64::_mm512_getmant_pd

source ·
pub unsafe fn _mm512_getmant_pd<const NORM: i32, const SIGN: i32>(
    a: __m512d,
) -> __m512d
🔬This is a nightly-only experimental API. (stdarch_x86_avx512)
Available on x86-64 only.
Expand description

Normalize the mantissas of packed double-precision (64-bit) floating-point elements in a, and store the results in dst. This intrinsic essentially calculates ±(2^k)*|x.significand|, where k depends on the interval range defined by interv and the sign depends on sc and the source sign.
The mantissa is normalized to the interval specified by interv, which can take the following values:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
The sign is determined by sc which can take the following values:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1

Intel’s documentation