インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

丸め操作の組込み関数

インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、実際にヘッダーをコードにインクルードする場合は、immintrin.h を使用します。


組込み関数名

演算

対応するインテル® AVX-512 命令

_mm512_ceil_pd_mm512_mask_ceil_pd

float64 ベクトル要素を最も近い整数値へ切り上げます。

なし

_mm512_ceil_ps_mm512_mask_ceil_ps

float32 ベクトル要素を最も近い整数値へ切り上げます。

なし

_mm512_floor_pd_mm512_mask_floor_pd

float64 ベクトル要素を最も近い整数値へ切り下げます。

なし

_mm512_floor_ps_mm512_mask_floor_ps

float32 ベクトル要素を最も近い整数値へ切り下げます。

なし

_mm512_nearbyint_pd_mm512_mask_nearbyint_pd

float64 ベクトル要素を浮動小数点形式の最も近い整数値に丸めます。

なし

_mm512_nearbyint_ps_mm512_mask_nearbyint_ps

float32 ベクトル要素を浮動小数点形式の最も近い整数値に丸めます。

なし

_mm512_rint_pd_mm512_mask_rint_pd

float64 ベクトル要素を最も近い偶数の整数値に丸めます。

なし

_mm512_rint_ps_mm512_mask_rint_ps

float32 ベクトル要素を最も近い偶数の整数値に丸めます。

なし

_mm512_svml_round_pd_mm512_mask_svml_round_pd

float64 ベクトル要素を最も近い整数値に丸めます。

なし

_mm512_trunc_pd_mm512_mask_trunc_pd

float64 ベクトル要素を、その絶対値を超えない最も近い整数値に丸めます。

なし

_mm512_trunc_ps_mm512_mask_trunc_ps

float32 ベクトル要素を、その絶対値を超えない最も近い整数値に丸めます。

なし


変数 定義
k

セレクターとして使用される書き込みマスク

a

1 つ目のソースベクトルの要素

src

書き込みマスクの結果に応じて使用されるソース要素


_mm512_ceil_pd

extern __m512d __cdecl _mm512_ceil_pd(__m512d a);

a の float64 ベクトル要素を最も近い整数値へ切り上げます。


_mm512_mask_ceil_pd

extern __m512d __cdecl _mm512_mask_ceil_pd(__m512d src, __mmask8 k, __m512d a);

a の float64 ベクトル要素を最も近い整数値へ切り上げ、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_ceil_ps

extern __m512 __cdecl _mm512_ceil_ps(__m512 a);

a の float32 ベクトル要素を最も近い整数値へ切り上げます。


_mm512_mask_ceil_ps

extern __m512 __cdecl _mm512_mask_ceil_ps(__m512 src, __mmask16 k, __m512 a);

a の float32 ベクトル要素を最も近い整数値へ切り上げ、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_floor_pd

extern __m512d __cdecl _mm512_floor_pd(__m512d a);

a の float64 ベクトル要素を最も近い整数値へ切り下げます。


_mm512_mask_floor_pd

extern __m512d __cdecl _mm512_mask_floor_pd(__m512d src, __mmask8 k, __m512d a);

a の float64 ベクトル要素を最も近い整数値へ切り下げ、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_floor_ps

extern __m512 __cdecl _mm512_floor_ps(__m512 a);

a の float32 ベクトル要素を最も近い整数値へ切り下げます。


_mm512_mask_floor_ps

extern __m512 __cdecl _mm512_mask_floor_ps(__m512 src, __mmask16 k, __m512 a);

a の float32 ベクトル要素を最も近い整数値へ切り下げ、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_nearbyint_pd

extern __m512d __cdecl _mm512_nearbyint_pd(__m512d a);

a の float64 ベクトル要素を、浮動小数点形式の最も近い整数値に丸めます。非正確 (inexact) 例外は発生しません。


_mm512_mask_nearbyint_pd

extern __m512d __cdecl _mm512_mask_nearbyint_pd(__m512d src, __mmask8 k, __m512d a);

a の float64 ベクトル要素を、浮動小数点形式の最も近い整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。非正確 (inexact) 例外は発生しません。



_mm512_nearbyint_ps

extern __m512 __cdecl _mm512_nearbyint_ps(__m512 a);

a の float32 ベクトル要素を、浮動小数点形式の最も近い整数値に丸めます。非正確 (inexact) 例外は発生しません。


_mm512_mask_nearbyint_ps

extern __m512 __cdecl _mm512_mask_nearbyint_ps(__m512 src, __mmask16 k, __m512 a);

a の float32 ベクトル要素を、浮動小数点形式の最も近い整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。非正確 (inexact) 例外は発生しません。



_mm512_rint_pd

extern __m512d __cdecl _mm512_rint_pd(__m512d a);

a の float64 ベクトル要素を最も近い偶数の整数値に丸めます。


_mm512_mask_rint_pd

extern __m512d __cdecl _mm512_mask_rint_pd(__m512d src, __mmask8 k, __m512d a);

a の float64 ベクトル要素を最も近い偶数の整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_rint_ps

extern __m512 __cdecl _mm512_rint_ps(__m512 a);

a の float32 ベクトル要素を最も近い偶数の整数値に丸めます。


_mm512_mask_rint_ps

extern __m512 __cdecl _mm512_mask_rint_ps(__m512 src, __mmask16 k, __m512 a);

a の float32 ベクトル要素を最も近い偶数の整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_svml_round_pd

extern __m512d __cdecl _mm512_svml_round_pd(__m512d a);

a のベクトル要素を最も近い整数値に丸めます。中間の場合は、_mm512_rint_pd 組込み関数のように最も近い偶数の整数値ではなく、丸め方向に関係なくゼロから離れて丸められます。


_mm512_mask_svml_round_pd

extern __m512d __cdecl _mm512_mask_svml_round_pd(__m512d src, __mmask8 k, __m512d a);

a のベクトル要素を最も近い整数値に丸めます。中間の場合は、_mm512_rint_pd 組込み関数のように最も近い偶数の整数値ではなく、丸め方向に関係なくゼロから離れて丸められます。

結果は、書き込みマスク k を使用して格納されます (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_trunc_pd

extern __m512d __cdecl _mm512_trunc_pd(__m512d a);

a の float64 ベクトル要素を、その絶対値を超えない最も近い整数値に丸めます。


_mm512_mask_trunc_pd

extern __m512d __cdecl _mm512_mask_trunc_pd(__m512d src, __mmask8 k, __m512d a);

a の float64 ベクトル要素を、その絶対値を超えない最も近い整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_trunc_ps

extern __m512 __cdecl _mm512_trunc_ps(__m512 a);

a の float32 ベクトル要素を、その絶対値を超えない最も近い整数値に丸めます。


_mm512_mask_trunc_ps

extern __m512 __cdecl _mm512_mask_trunc_ps(__m512 src, __mmask16 k, __m512 a);

a の float32 ベクトル要素を、その絶対値を超えない最も近い整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。