Function core::arch::x86_64::_mm512_mask_getmant_round_pd
source · pub unsafe fn _mm512_mask_getmant_round_pd(
src: __m512d,
k: __mmask8,
a: __m512d,
const NORM: _MM_MANTISSA_NORM_ENUM,
const SIGN: _MM_MANTISSA_SIGN_ENUM,
const SAE: i32
) -> __m512d
stdarch_x86_avx512
#111137)avx512f
and 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 using writemask k (elements are copied from src when the corresponding mask bit is not set). 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
Exceptions can be suppressed by passing _MM_FROUND_NO_EXC in the sae parameter.