div (sm4 - asm)
コンポーネントごとの除算。
div[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle] |
---|
Item | 説明 |
---|---|
Dest |
[in] 操作の結果。 |
src0 |
[入力] 被除数。 |
src1 |
[入力] 除数。 |
注釈
次の表は、オーバーフローまたはアンダーフローが発生しない場合に、さまざまなクラスの数値で命令を実行するときに得られる結果を示しています。
除算には、a/b と a*(1/b) の 2 つの実装が許可されています。
この結果の 1 つは、大きな分母値 (8.5070592e+37 より大きい) に対して次の表に例外があり、1/分母はデノルムであるということです。 実装では a/b の代わりに a*(1/b) として除算が実行される場合があるため、1/[大きな値] はフラッシュされる可能性のあるデノルムであるため、テーブル内で異なる結果が生成される場合があります。 たとえば、(+/-)INF / (+/-)[値 > 8.5070592e+37] では一部の実装では NaN が生成されますが、他の実装では (+/-)INF が生成される場合があります
この表の F は有限実数を意味します。
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 または +-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 または +-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 |
この命令は、次のシェーダー ステージに適用されます。
頂点シェーダー | ジオメトリ シェーダー | ピクセル シェーダー |
---|---|---|
x | x | x |
最小シェーダー モデル
この関数は、次のシェーダー モデルでサポートされています。
シェーダー モデル | サポートされています |
---|---|
シェーダー モデル 5 | はい |
シェーダー モデル 4.1 | はい |
シェーダー モデル 4 | はい |
シェーダー モデル 3 (DirectX HLSL) | X |
シェーダー モデル 2 (DirectX HLSL) | X |
シェーダー モデル 1 (DirectX HLSL) | X |