div (sm4 - asm)

Komponentenweise Division.

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 Klassen von Zahlen erzielt werden, vorausgesetzt, dass weder Überlauf noch Unterlauf auftreten.

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

Ein Ergebnis davon ist, dass für große Nennerwerte (größer als 8,5070592e+37) Ausnahmen für die folgende Tabelle vorhanden sind, wobei 1/Nenner eine Denorm ist. Da Implementierungen eine Division als * (1/b) anstelle von a/b direkt durchführen können und 1/ [ ein großer Wert eine ] Denorm ist, die geleert werden könnte, würden einige Fälle in der Tabelle unterschiedliche Ergebnisse erzeugen. Beispielsweise kann der Wert (+/-)INF/(+/-) [ > 8,5070592e+37 ] naN für einige Implementierungen erzeugen, aber (+/-)INF für andere Implementierungen.

In dieser Tabelle bedeutet F endliche 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 Shaderstufen:

Vertexshader Geometrie-Shader Pixelshader
x x x

Shader-Mindestmodell

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

Shadermodell 4-Assembly (DirectX HLSL)