Files
ispc/tests/short-circuit-select-2.ispc
Matt Pharr 89cb809922 Short-circuit evaluation of ? : operator for varying tests.
? : now short-circuits evaluation of the expressions following
the boolean test for varying test types.  (It already did this
for uniform tests).

Issue #169.
2012-02-01 11:03:58 -08:00

22 lines
527 B
Plaintext

export uniform int width() { return programCount; }
uniform int * uniform ptr;
bool crashEven() {
return (programIndex & 1) ? true : (*ptr > 0);
}
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
float a = aFOO[programIndex];
float a0 = aFOO[0], a1 = aFOO[1];
if (((programIndex & 1) == 1) && crashEven())
RET[programIndex] = 1;
else
RET[programIndex] = 2;
}
export void result(uniform float RET[]) {
RET[programIndex] = (programIndex & 1) ? 1 : 2;
}