Freigeben über


div (sm4 – asm)

Komponentenbezogene Aufteilung.

div[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle]
Element BESCHREIBUNG
Dest
[in] Das Ergebnis des Vorgangs.
src0
[in] Der Dividend.
src1
[in] Der Divisor.

Hinweise

Die folgende Tabelle zeigt die Ergebnisse, die beim Ausführen der Anweisung mit verschiedenen Zahlenklassen erhalten werden, vorausgesetzt, dass weder Überlauf noch Unterlauf auftreten.

Beachten Sie die beiden zulässigen Implementierungen von divide: a/b und a*(1/b).

Ein Ergebnis davon ist, dass es Ausnahmen von der folgenden Tabelle für große Nennerwerte gibt (größer als 8,5070592e+37), wobei 1/Nenner eine Denorm ist. Da Implementierungen dividieren können als a*(1/b), anstelle von a/b direkt, und 1/[großer Wert] eine Denorm ist, die geleert werden könnte, würden einige Fälle in der Tabelle zu unterschiedlichen Ergebnissen führen. Beispielsweise kann (+/-)INF / (+/-)[Wert > 8.5070592e+37] für einige Implementierungen NaN erzeugen, aber (+/-)INF für andere Implementierungen

In dieser Tabelle bedeutet F endlich-reelle Zahl.

src0 src1 –> -Inf -F -denorm -0 +0 +denorm +F +inf Nan
-Inf -inf -inf -inf -inf -inf -inf -inf NaN NaN
-F -inf -F src0 src0 src0 src0 +-F oder +-0 +inf NaN
-denorm -inf src1 -0 -0 +0 +0 src1 +inf NaN
-0 -inf src1 -0 -0 +0 +0 src1 +inf NaN
+0 -inf src1 +0 +0 +0 +0 src1 +inf NaN
+denorm -inf src1 +0 +0 +0 +0 src1 +inf NaN
+F -inf +-F oder +-0 src0 src0 src0 src0 +F +inf NaN
+inf NaN +inf +inf +inf +inf +inf +inf +inf NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

Diese Anweisung gilt für die folgenden Shaderphasen:

Vertexshader Geometrie-Shader Pixelshader
x x x

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

Shadermodell Unterstützt
Shadermodell 5 ja
Shadermodell 4.1 ja
Shadermodell 4 ja
Shadermodell 3 (DirectX HLSL) Nein
Shadermodell 2 (DirectX HLSL) Nein
Shadermodell 1 (DirectX HLSL) Nein

Assembly des Shadermodells 4 (DirectX HLSL)