div (sm4 - asm)
Division par composant.
div[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle] |
---|
Élément | Description |
---|---|
Dest |
[in] Résultat de l’opération. |
src0 |
[in] Dividende. |
src1 |
[in] Diviseur. |
Remarques
Le tableau suivant montre les résultats obtenus lors de l’exécution de l’instruction avec différentes classes de nombres, en supposant qu’aucun dépassement de capacité ou sous-flux ne se produit.
Vous devez noter les deux implémentations autorisées de divide : a/b et a*(1/b).
L’un des résultats est qu’il existe des exceptions au tableau ci-dessous pour les valeurs de dénominateur volumineux (supérieures à 8,5070592e+37), où 1/dénominateur est un denorm. Étant donné que les implémentations peuvent effectuer la division en tant que a*(1/b), au lieu d’a/b directement, et que 1/[grande valeur] est un dénorm qui peut être vidé, certains cas de la table produisent des résultats différents. Par exemple, (+/-)INF / (+/-)[value > 8.5070592e+37] peut produire NaN sur certaines implémentations, mais (+/-)INF sur d’autres implémentations
Dans ce tableau, F signifie nombre fini-réel.
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 ou +-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 ou +-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 |
Cette instruction s’applique aux étapes suivantes du nuanceur :
Nuanceur de sommets | Nuanceur de géométrie | Nuanceur de pixels |
---|---|---|
x | x | x |
Modèle de nuanceur minimal
Cette fonction est prise en charge dans les modèles de nuanceur suivants.
Modèle de nuanceur | Pris en charge |
---|---|
Modèle de nuanceur 5 | Oui |
Modèle de nuanceur 4.1 | Oui |
Modèle de nuanceur 4 | Oui |
Modèle de nuanceur 3 (DirectX HLSL) | non |
Shader Model 2 (DirectX HLSL) | Non |
Modèle de nuanceur 1 (DirectX HLSL) | non |