1float4 main() : SV_Position 2{ 3 float f1 = -1.#INF; 4 float f2 = 1.#INF; 5 float f3 = +1.#INF; 6 float f4 = f2 * 1.#INF + 1.#INF; 7 const float f5 = -1.#INF; 8 // An infinity times zero is a NaN. 9 // In IEEE 754, the sign of a NaN is significant only for 10 // abs, copy, negate, or copySign. Use abs(.) here to 11 // set the sign bit to zero. Otherwise, some platforms will 12 // have a 1 sign bit and others will have a 0 sign bit. 13 const float f6 = abs(f5 * 0.0f); 14 15 return (float4)(f1 + f2 + f3 + f4 + f5 + f6); 16} 17