丸めモードに応じて、単精度浮動小数点値を最も近い整数値に丸めます。対応するインテル® AVX 命令は VROUNDPS です。
float32 ベクトル a の要素を最も近い整数値に丸めます。#defines 形式の 2 つのショートカットを使用して、次の 2 つの操作を行うことができます。
#define _mm256_ceil_ps(a) _mm256_round_ps((a), 0x0A)
#define _mm256_floor_ps(a) _mm256_round_ps((a), 0x09)
#defines は、すべての _mm256_ceil_ps(a) を _mm256_round_ps((a), 0x0A) へ、すべての _mm256_floor_ps(a) を _mm256_round_ps((a), 0x09) へ置換するようにプリプロセッサーに指示します。
例えば、次のコードを考えてみます。
__m256 a, b;
a = _mm256_ceil_ps(b);
プリプロセッサーは、次のように変更します。
a = _mm256_round_ps(b, 0x0a);
(即値オペランドの) iRoundMode の値に応じて、浮動小数点の精度の例外が発生します。
© 1996-2010 Intel Corporation. 無断での引用、転載を禁じます。