(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

_mm_extract_ps

[Diese Dokumentation ist nur eine Vorschau und wird in späteren Versionen ggf. geändert. Blank topics are included as placeholders.]

Microsoft-spezifisch

Gibt die Anweisung extractpsder Streaming SIMD-Erweiterungen 4 (SSE4) aus. Diese Anweisung extrahiert eine ganze Zahl mit 32 Bit aus einem 128-Bit-Parameter.


          
int _mm_extract_ps( 
   __m128 a,
   const int ndx 
);
        

[in] a

Ein 128-Bit-Parameter, der vier 32-Bit-Gleitkommawerte enthält.

[in] ndx

Ein konstanter Index, der den Speicherort des Werts angibt, die extrahiert werden soll.

Der Rückgabewert kann mit den folgenden Formeln ausgedrückt werden:

r := (ndx == 0) ? a0 :
  ((ndx == 1) ? a1 :
  ((ndx == 2) ? a2 : a3))

Intrinsisch

Architektur

_mm_extract_ps

x86, x64

Headerdatei <smmintrin.h>

a0-a3 sind die einzigen 32-Bit-Gleitkommawerte im Parameter a, wenn a0 die niedrigsten 32 Bits belegt.

Nur die am wenigsten signifikanten Bits von zwei ndx verwendet werden.

Bevor Sie diese systeminterne Software verwenden, muss sichergestellt, dass der Prozessor die Anweisung unterstützt.

#include <stdio.h>
#include <smmintrin.h>

int main ()
{
    __m128 a;
    const int ndx = 1;

    a.m128_f32[0] = 1.25;
    a.m128_f32[1] = -5.125;
    a.m128_f32[2] = 16.0;
    a.m128_f32[3] = 3.5;

    int res = _mm_extract_ps(a, ndx);
    // Note: These are printed out in hex format to easily identify that the float and corresponding
    //       integer value are identical
    printf_s("Result res should equal %x: %x\n", a.m128_u32[ndx], res);

    return 0;
}
          Ergebnis RES soll c0a40000 entsprechen: c0a40000
        
Anzeigen:
© 2014 Microsoft