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

half-float 型変換の組込み関数

half-float 型から 32 ビット float 型への変換と 32 ビット float 型から half-float 型への変換を行う組込み関数は 4 つあります。これらの組込み関数のプロトタイプは、emmintrin.h ファイル内にあります。

float _cvtsh_ss(unsigned short x);

この組込み関数は、half-float 値 x を 32 ビット float 値に変換し、返します。

unsigned short _cvtss_sh(float x, int imm);

この組込み関数は、32 ビット float 値 x を half-float 値に変換し、返します。

__m128 _mm_cvtph_ps(__m128i x);

この組込み関数は、4 つのパックド half-float 値を 4 つの 32 ビット float 値に変換し、返します。x の上位 64 ビットは無視されます。下位 64 ビットは 4 つの 16 ビット float 値として変換されます。

__m128i _mm_cvtps_ph(_m128 x, int imm);

この組込み関数は、4 つのパックド 32 ビット float 値を 4 つの half-float 値に変換し、返します。返される値の上位 64 ビットはすべて 0 です。下位 64 ビットには 4 つのパックド 16 ビット float 値が含まれます。

関連情報