_mm_frcz_sd
Visual Studio 2010 SP1 wird benötigt.
Microsoft-spezifisch
Generiert die XOP XMM-Anweisung vfrczsd, um den Bruchteil des niederwertigen Gleitkommawerts mit doppelter Genauigkeit aus der zweiten Quelle zu extrahieren.
__m128d _mm_frcz_sd (
__m128d high,
__m128d src
);
Parameter
[in] high
Ein 128-Bit-Parameter, der einen 64-Bit-Gleitkommawert in seinem höherwertigen Vierfachwort enthält.[in] src
Ein 128-Bit-Parameter, der einen 64-Bit-Gleitkommawert in seinem niederwertigen Vierfachwort enthält.
Rückgabewert
Ein 128-Bit-Ergebnis r, das zwei 64-Bit-Gleitkommawerte enthält.
r[0] := fractional_part_of(src[0]);
r[1] := high[1];
Anforderungen
Intrinsisch |
Architektur |
---|---|
_mm_frcz_sd |
XOP |
Headerdatei <intrin.h>
Hinweise
Der Bruchteil des niederwertigen Gleitkommawerts mit doppelter Genauigkeit in src wird extrahiert und als unterer Wert im Ziel gespeichert. Das Vorzeichen dieses Ergebnisses ist das Vorzeichen seines Quellwerts. Der höherwertige Gleitkommawert mit doppelter Genauigkeit in high wird als Höchstwert im Ziel gespeichert.
Die vfrczsd-Anweisung ist Teil der XOP-Anweisungsfamilie. Bevor Sie diese systeminterne Funktion verwenden, müssen Sie sicherstellen, dass der Prozessor diese Anweisung unterstützt. Um die Hardwareunterstützung für diese Anweisung zu bestimmen, rufen Sie die systeminterne Funktion __cpuid mit InfoType = 0x80000001 auf, und prüfen Sie Bit 11 von CPUInfo[2] (ECX). Dieses Bit ist 1, wenn die Anweisung unterstützt wird, und andernfalls 0.
Beispiel
#include <stdio.h>
#include <intrin.h>
main()
{
__m128d a, b, d;
int i;
a.m128d_f64[0] = 1.125;
a.m128d_f64[1] = -17.875;
b.m128d_f64[0] = 0.;
b.m128d_f64[1] = 1.;
d = _mm_frcz_sd(b, a);
printf(" %.3lf %.3lf\n", d.m128d_f64[0], d.m128d_f64[1]);
}
Siehe auch
Referenz
Weitere Ressourcen
In Visual Studio 2010 SP1 hinzugefügte systeminterne XOP-Funktionen
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
März 2011 |
Diesen Inhalt hinzugefügt. |
SP1-Funktionsänderung. |