Function core::arch::x86::_mm_mask_getmant_round_sd[][src]

pub unsafe fn _mm_mask_getmant_round_sd<const NORM: _MM_MANTISSA_NORM_ENUM, const SIGN: _MM_MANTISSA_SIGN_ENUM, const SAE: i32>(
    src: __m128d,
    k: __mmask8,
    a: __m128d,
    b: __m128d
) -> __m128d
🔬 This is a nightly-only experimental API. (stdsimd #48556)
This is supported on x86 and target feature avx512f only.
Expand description

标准化 b 中下部双精度 (64-bit) 浮点元素的尾数,使用写掩码 k 将结果存储在 dst 的下部元素中 (当未设置 mask bit 0 时从 src 复制该元素),并复制上部元素从 a 到 dst 的高位元素。此内联函数本质上计算 ± (2 ^ k) * | x.significand |,其中 k 取决于由 interv 定义的间隔范围,而符号取决于 sc 和源符号。
尾数被标准化为由 interv 指定的间隔,该间隔可以采用以下值:
_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)
该符号由 sc 确定,可以采用以下值:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1
可以通过在 sae 参数中传递 _MM_FROUND_NO_EXC 来抑制异常。

Intel’s documentation