div(sm4 - asm)
성분 단위로 나눕니다.
div[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle] |
---|
항목 | 설명 |
---|---|
dest |
[in] 작업의 결과입니다. |
src0 |
[in] 피제수입니다. |
src1 |
[in] 제수입니다. |
설명
다음 표는 오버플로나 언더플로가 발생하지 않는다는 가정하에 다양한 숫자 클래스로 명령를 실행할 때 얻은 결과를 보여 줍니다.
허용되는 두 가지 나누기 구현인 a/b 및 a*(1/b)에 유의해야 합니다.
한 가지 결과는 큰 분모 값(8.5070592e+37보다 큼)에 대해 아래 표에 예외가 있다는 것입니다. 여기서 1/분모는 비정상 상태입니다. 구현은 a/b 대신 a*(1/b)로 나누기를 수행할 수 있고 1/[큰 값]은 플러시될 수 있는 비정상 요소이므로 테이블의 일부 경우 다른 결과가 생성됩니다. 예를 들어,(+/-)INF /(+/-)[value > 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) | 아니요 |
셰이더 모델 2(DirectX HLSL) | 아니요 |
셰이더 모델 1(DirectX HLSL) | 아니요 |