#include "../test_static.isph" task void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) { int v = aFOO[programIndex]; // Shift only if v is greater than 2. if(v > 2) v = shift(v, -1); // Apply shift to all values of v. v = shift(v, 2); RET[programIndex] = v; } task void result(uniform float RET[]) { varying int val = programIndex + 1; val = val + 2; if(val > 2) val--; if (val >= programCount) val = 0; RET[programIndex] = val; }