_mm_cvttsd_si64x

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]

Microsoft 固有の仕様 →

パックされた double 型構造の最初の二つを受け取り64 ビット整数に変換しその結果を返す 64 ビット整数 (cvttsd2si) 命令に切り捨てスカラー倍精度浮動小数点値に変換 x64 によって拡張されたバージョンを生成します。

__int64 _mm_cvttsd_si64x( 
   __m128d value 
);

パラメーター

  • [入力] value
    __m128d を含む構造体の各倍精度浮動小数点値。

戻り値

64 ビットの整数への最初の変換の結果。

必要条件

組み込み

アーキテクチャ

_mm_cvttsd_si64x

AMD64

ヘッダー ファイル <intrin.h>

解説

関数は _mm_cvtsd_si64x と不正な変換がゼロに向かって切り詰めが異なります。 結果がオーバーフローすると値 - 9223372036854775808 (0x8000000000000000 は) が返されます。 __m128d の構造は XMM レジスタを表すためから XMM 命令によって生成されるデータの移動はシステム メモリに登録します。

このルーチンは組み込みとしてのみ使用できます。

使用例

// _mm_cvttsd_si64x.cpp
// processor: x64
#include <intrin.h>
#include <stdio.h>

#pragma intrinsic(_mm_cvttsd_si64x)

int main()
{
    __m128d d;
    __int64 b;

    double adbl[2] = { 101.5, 200.5 };

    // store the double values into d
    // (moves data into the XMM registers)
    d = _mm_loadu_pd (adbl);

    // Extract the first element of d
    b = _mm_cvttsd_si64x(d);

    printf_s("%I64d\n", b );
}
          
        

参照

Reference

__m128d

コンパイラ組み込み関数。