インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
丸めモードに応じて、倍精度浮動小数点値を最も近い整数値に丸めます。対応するインテル® AVX 命令は VROUNDPD です。
extern __m256d _mm256_round_pd(__m256d a, int iRoundMode); |
a |
float64 ベクトル |
iRoundMode |
丸めモードに依存する 16 進値:
|
float64 ベクトル a の要素を最も近い整数値に丸めます。#defines 形式の 2 つのショートカットを使用して、次の 2 つの操作を行うことができます。
#define _mm256_ceil_pd(a) _mm256_round_pd((a), 0x0A)
#define _mm256_floor_pd(a) _mm256_round_pd((a), 0x09)
#defines は、すべての _mm256_ceil_pd(a) を _mm256_round_pd((a), 0x0A) へ、すべての _mm256_floor_pd(a) を _mm256_round_pd((a), 0x09) へ置換するようにプリプロセッサーに指示します。
例えば、次のコードを考えてみます。
__m256 a, b;
a = _mm256_ceil_pd(b);
プリプロセッサーは、次のように変更します。
a = _mm256_round_pd(b, 0x0a);
(即値オペランドの) iRoundMode の値に応じて、浮動小数点の精度の例外が発生します。
丸め操作の結果である倍精度浮動小数点ベクトル。