Update run_tests and examples makefile for scalar target.
Fixed a number of tests that didn't handle the programCount == 1 case correctly.
This commit is contained in:
@@ -14,7 +14,7 @@ CPP_OBJS=$(addprefix objs/, $(CPP_SRC:.cpp=.o) $(TASK_OBJ))
|
||||
|
||||
default: $(EXAMPLE)
|
||||
|
||||
all: $(EXAMPLE) $(EXAMPLE)-sse4 $(EXAMPLE)-generic16
|
||||
all: $(EXAMPLE) $(EXAMPLE)-sse4 $(EXAMPLE)-generic16 $(EXAMPLE)-scalar
|
||||
|
||||
.PHONY: dirs clean
|
||||
|
||||
@@ -57,3 +57,9 @@ objs/$(ISPC_SRC:.ispc=)_generic16.o: objs/$(ISPC_SRC:.ispc=)_generic16.cpp
|
||||
|
||||
$(EXAMPLE)-generic16: $(CPP_OBJS) objs/$(ISPC_SRC:.ispc=)_generic16.o
|
||||
$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
|
||||
|
||||
objs/$(ISPC_SRC:.ispc=)_scalar.o: $(ISPC_SRC)
|
||||
$(ISPC) $< -o $@ --target=generic-1
|
||||
|
||||
$(EXAMPLE)-scalar: $(CPP_OBJS) objs/$(ISPC_SRC:.ispc=)_scalar.o
|
||||
$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
|
||||
|
||||
@@ -53,7 +53,8 @@ if not is_windows:
|
||||
else:
|
||||
ispc_exe = "../Release/ispc.exe"
|
||||
|
||||
is_generic_target = options.target.find("generic-") != -1
|
||||
is_generic_target = (options.target.find("generic-") != -1 and
|
||||
options.target != "generic-1")
|
||||
if is_generic_target and options.include_file == None:
|
||||
if options.target == "generic-4":
|
||||
sys.stderr.write("No generics #include specified; using examples/intrinsics/sse4.h\n")
|
||||
@@ -224,7 +225,7 @@ def run_test(filename):
|
||||
"in test %s\n" % filename)
|
||||
return (1, 0)
|
||||
else:
|
||||
is_generic_target = options.target.find("generic-") != -1
|
||||
global is_generic_target
|
||||
if is_generic_target:
|
||||
obj_name = "%s.cpp" % filename
|
||||
|
||||
|
||||
@@ -15,7 +15,9 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
if (programCount == 4)
|
||||
if (programCount == 1)
|
||||
RET[programIndex] = 1;
|
||||
else if (programCount == 4)
|
||||
RET[programIndex] = 5.;
|
||||
else
|
||||
RET[programIndex] = 10.;
|
||||
|
||||
@@ -3,13 +3,13 @@ export uniform int width() { return programCount; }
|
||||
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
uniform float a[programCount];
|
||||
for (unsigned int i = 0; i < programCount; ++i)
|
||||
a[i] = aFOO[i];
|
||||
uniform float a[programCount+4];
|
||||
for (unsigned int i = 0; i < programCount+4; ++i)
|
||||
a[i] = aFOO[min((int)i, programCount)];
|
||||
|
||||
RET[programIndex] = *(a + 2);
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 3;
|
||||
RET[programIndex] = (programCount == 1) ? 1 : 3;
|
||||
}
|
||||
|
||||
@@ -14,4 +14,4 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
}
|
||||
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 5; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = programCount == 1 ? 0 : 5; }
|
||||
|
||||
@@ -14,7 +14,9 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
if (programCount == 4)
|
||||
if (programCount == 1)
|
||||
RET[programIndex] = 0;
|
||||
else if (programCount == 4)
|
||||
RET[programIndex] = 2;
|
||||
else
|
||||
RET[programIndex] = 4;
|
||||
|
||||
@@ -13,5 +13,5 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 2;
|
||||
RET[programIndex] = programCount == 1 ? 1 : 2;
|
||||
}
|
||||
|
||||
@@ -12,5 +12,5 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = (programCount/2) - 1;
|
||||
RET[programIndex] = programCount == 1 ? 0 : ((programCount/2) - 1);
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 3000;
|
||||
RET[programIndex] = (programCount == 1) ? 2 : 3000;
|
||||
}
|
||||
|
||||
@@ -12,5 +12,5 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = programCount;
|
||||
RET[programIndex] = (programCount == 1) ? 0 : programCount;
|
||||
}
|
||||
|
||||
@@ -13,5 +13,5 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 1;
|
||||
RET[programIndex] = (programCount == 1) ? 0 : 1;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int a = aFOO[programIndex];
|
||||
int br = broadcast(a, (uniform int)b-2);
|
||||
int br = (programCount == 1) ? 4 : broadcast(a, (uniform int)b-2);
|
||||
RET[programIndex] = br;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
int16 a = aFOO[programIndex];
|
||||
int16 b = broadcast(a, 2);
|
||||
int16 b = (programCount == 1) ? 3 : broadcast(a, 2);
|
||||
RET[programIndex] = b;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int8 a = aFOO[programIndex];
|
||||
int8 br = broadcast(a, (uniform int)b-2);
|
||||
int8 br = (programCount == 1) ? 4 : broadcast(a, (uniform int)b-2);
|
||||
RET[programIndex] = br;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
float a = aFOO[programIndex];
|
||||
float b = broadcast(a, 2);
|
||||
float b = (programCount == 1) ? 3 : broadcast(a, 2);
|
||||
RET[programIndex] = b;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
double a = programIndex;
|
||||
RET[programIndex] = extract(a, 3);
|
||||
RET[programIndex] = extract(a, min(programCount-1, 3));
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 3;
|
||||
RET[programIndex] = (programCount == 1) ? 0 : 3;
|
||||
}
|
||||
|
||||
@@ -12,5 +12,5 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 2;
|
||||
RET[programIndex] = (programCount == 1) ? 1 : 2;
|
||||
}
|
||||
|
||||
@@ -15,8 +15,12 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
for (uniform int i = 0; i < programCount/2; ++i) {
|
||||
RET[2*i+1] = 10+i;
|
||||
RET[2*i] = 10+programCount/2+i;
|
||||
if (programCount == 1)
|
||||
RET[0] = 10;
|
||||
else {
|
||||
for (uniform int i = 0; i < programCount/2; ++i) {
|
||||
RET[2*i+1] = 10+i;
|
||||
RET[2*i] = 10+programCount/2+i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,5 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = programCount/2;
|
||||
RET[programIndex] = (programCount == 1) ? 1 : programCount/2;
|
||||
}
|
||||
|
||||
@@ -8,4 +8,4 @@ export void f_f(uniform float RET[4], uniform float aFOO[]) {
|
||||
RET[programIndex] = popcnt(a < 3);
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 2; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = programCount == 1 ? 1 : 2; }
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
uniform float a[programCount];
|
||||
uniform float a[programCount+1];
|
||||
a[programIndex] = aFOO[programIndex];
|
||||
a[programCount] = 1;
|
||||
|
||||
uniform float * uniform ptr = a;
|
||||
*(ptr+1) = 0;
|
||||
@@ -12,5 +13,6 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 1+programIndex;
|
||||
RET[1] = 0;
|
||||
if (programCount > 0)
|
||||
RET[1] = 0;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
double v = aFOO[programIndex];
|
||||
uniform float m;
|
||||
uniform float m = 42;
|
||||
int iv = (int)v;
|
||||
if (iv & 1)
|
||||
m = reduce_add((double)iv);
|
||||
@@ -14,7 +14,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 4;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 4;
|
||||
else if (programCount == 8) x = 16;
|
||||
else if (programCount == 16) x = 64;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -13,7 +13,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 10;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 10;
|
||||
else if (programCount == 8) x = 36;
|
||||
else if (programCount == 16) x = 136;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -11,4 +11,4 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = -3; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? -1 : -3; }
|
||||
|
||||
@@ -14,7 +14,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 4;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 4;
|
||||
else if (programCount == 8) x = 16;
|
||||
else if (programCount == 16) x = 64;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -13,7 +13,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 10;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 10;
|
||||
else if (programCount == 8) x = 36;
|
||||
else if (programCount == 16) x = 136;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -11,4 +11,4 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = -3; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? -1 : -3; }
|
||||
|
||||
@@ -14,7 +14,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 4;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 4;
|
||||
else if (programCount == 8) x = 16;
|
||||
else if (programCount == 16) x = 64;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -14,7 +14,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 10;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 10;
|
||||
else if (programCount == 8) x = 36;
|
||||
else if (programCount == 16) x = 136;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -14,7 +14,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 4;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 4;
|
||||
else if (programCount == 8) x = 16;
|
||||
else if (programCount == 16) x = 64;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -13,7 +13,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 10;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 10;
|
||||
else if (programCount == 8) x = 36;
|
||||
else if (programCount == 16) x = 136;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -14,7 +14,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 4;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 4;
|
||||
else if (programCount == 8) x = 16;
|
||||
else if (programCount == 16) x = 64;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -12,4 +12,4 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 10 * programCount/4; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 1 : (10 * programCount/4); }
|
||||
|
||||
@@ -14,7 +14,8 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
uniform int x = -1234;
|
||||
if (programCount == 4) x = 4;
|
||||
if (programCount == 1) x = 1;
|
||||
else if (programCount == 4) x = 4;
|
||||
else if (programCount == 8) x = 16;
|
||||
else if (programCount == 16) x = 64;
|
||||
RET[programIndex] = x;
|
||||
|
||||
@@ -11,4 +11,6 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 10 * programCount/4; }
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = (programCount == 1) ? 1 : (10 * programCount/4);
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ export uniform int width() { return programCount; }
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int a = aFOO[programIndex&1];
|
||||
RET[programIndex] = 1;
|
||||
uniform bool re;
|
||||
uniform int val;
|
||||
uniform bool re = false;
|
||||
uniform int val = 16;
|
||||
if (programIndex & 1) {
|
||||
re = reduce_equal(a, &val);
|
||||
}
|
||||
@@ -13,5 +13,5 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 258;
|
||||
RET[programIndex] = (programCount == 1) ? 16 : 258;
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 0;
|
||||
RET[programIndex] = (programCount == 1) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int a = aFOO[programIndex/(programCount/2)];
|
||||
int a = aFOO[programIndex/max(1, (programCount/2))];
|
||||
RET[programIndex] = 0;
|
||||
if (programIndex >= programCount/2 && a < 4)
|
||||
RET[programIndex] = reduce_equal(a) ? 1 : 0;
|
||||
|
||||
@@ -11,5 +11,5 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 0;
|
||||
RET[programIndex] = (programCount == 1) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -7,5 +7,5 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 0;
|
||||
RET[programIndex] = (programCount == 1) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
double v = aFOO[programIndex];
|
||||
uniform float m;
|
||||
uniform float m = 42;
|
||||
if (v >= 3)
|
||||
m = reduce_max(-v);
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = -3; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 42 : -3; }
|
||||
|
||||
@@ -5,10 +5,10 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float v = aFOO[programIndex];
|
||||
uniform float m;
|
||||
uniform float m = 42;
|
||||
if (v >= 3)
|
||||
m = reduce_max(-v);
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = -3; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 42 : -3; }
|
||||
|
||||
@@ -5,10 +5,10 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float v = aFOO[programIndex];
|
||||
uniform float m;
|
||||
uniform float m = 42;
|
||||
if (v >= 3)
|
||||
m = reduce_max(-(int)v);
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = -3; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 42 : -3; }
|
||||
|
||||
@@ -5,10 +5,10 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float v = aFOO[programIndex];
|
||||
uniform float m;
|
||||
uniform float m = 42;
|
||||
if (v >= 3)
|
||||
m = reduce_max(-(int64)v);
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = -3; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 42 : -3; }
|
||||
|
||||
@@ -11,4 +11,4 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 2; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 1 : 2; }
|
||||
|
||||
@@ -11,4 +11,4 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 2; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 1 : 2; }
|
||||
|
||||
@@ -11,4 +11,4 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = -2; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? -1 : -2; }
|
||||
|
||||
@@ -11,4 +11,4 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = -2; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? -1 : -2; }
|
||||
|
||||
@@ -5,10 +5,10 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float v = aFOO[programIndex];
|
||||
uniform float m;
|
||||
uniform float m = 42;
|
||||
if (v >= 3)
|
||||
m = reduce_min((unsigned int)v);
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 3; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 42 : 3; }
|
||||
|
||||
@@ -5,10 +5,10 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float v = aFOO[programIndex];
|
||||
uniform float m;
|
||||
uniform float m = 42;
|
||||
if (v >= 3)
|
||||
m = reduce_min((unsigned int64)v);
|
||||
RET[programIndex] = m;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 3; }
|
||||
export void result(uniform float RET[]) { RET[programIndex] = (programCount == 1) ? 42 : 3; }
|
||||
|
||||
@@ -2,9 +2,13 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int8 a = aFOO[programIndex];
|
||||
int8 shuf = shuffle(a, 1);
|
||||
RET[programIndex] = shuf;
|
||||
if (programCount == 1)
|
||||
RET[0] = 2;
|
||||
else {
|
||||
int8 a = aFOO[programIndex];
|
||||
int8 shuf = shuffle(a, 1);
|
||||
RET[programIndex] = shuf;
|
||||
}
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -2,9 +2,13 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int32 a = aFOO[programIndex];
|
||||
int32 shuf = shuffle(a, 1);
|
||||
RET[programIndex] = shuf;
|
||||
if (programCount == 1)
|
||||
RET[0] = 2;
|
||||
else {
|
||||
int32 a = aFOO[programIndex];
|
||||
int32 shuf = shuffle(a, 1);
|
||||
RET[programIndex] = shuf;
|
||||
}
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int32 aa = aFOO[programIndex];
|
||||
int32 bb = aa + programCount;
|
||||
int32 shuf = shuffle(aa, bb, programCount + 1);
|
||||
RET[programIndex] = shuf;
|
||||
if (programCount == 1)
|
||||
RET[0] = 3;
|
||||
else {
|
||||
int32 aa = aFOO[programIndex];
|
||||
int32 bb = aa + programCount;
|
||||
int32 shuf = shuffle(aa, bb, programCount + 1);
|
||||
RET[programIndex] = shuf;
|
||||
}
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int32 aa = aFOO[programIndex];
|
||||
int32 bb = aa + programCount;
|
||||
int32 shuf = shuffle(aa, bb, programIndex + 2);
|
||||
RET[programIndex] = shuf;
|
||||
if (programCount == 1)
|
||||
RET[0] = 3;
|
||||
else {
|
||||
int32 aa = aFOO[programIndex];
|
||||
int32 bb = aa + programCount;
|
||||
int32 shuf = shuffle(aa, bb, programIndex + 2);
|
||||
RET[programIndex] = shuf;
|
||||
}
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float aa = aFOO[programIndex];
|
||||
float bb = aa + programCount;
|
||||
float shuf = shuffle(aa, bb, programIndex + 2 + (int)b - 5);
|
||||
RET[programIndex] = shuf;
|
||||
if (programCount == 1)
|
||||
RET[0] = 3;
|
||||
else {
|
||||
float aa = aFOO[programIndex];
|
||||
float bb = aa + programCount;
|
||||
float shuf = shuffle(aa, bb, programIndex + 2 + (int)b - 5);
|
||||
RET[programIndex] = shuf;
|
||||
}
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int16 aa = aFOO[programIndex];
|
||||
int16 bb = aa + programCount;
|
||||
int16 shuf = shuffle(aa, bb, programCount + 1);
|
||||
RET[programIndex] = shuf;
|
||||
if (programCount == 1)
|
||||
RET[0] = 3;
|
||||
else {
|
||||
int16 aa = aFOO[programIndex];
|
||||
int16 bb = aa + programCount;
|
||||
int16 shuf = shuffle(aa, bb, programCount + 1);
|
||||
RET[programIndex] = shuf;
|
||||
}
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int8 aa = aFOO[programIndex];
|
||||
int8 bb = aa + programCount;
|
||||
int8 shuf = shuffle(aa, bb, programIndex + 2);
|
||||
RET[programIndex] = shuf;
|
||||
if (programCount == 1)
|
||||
RET[0] = 3;
|
||||
else {
|
||||
int8 aa = aFOO[programIndex];
|
||||
int8 bb = aa + programCount;
|
||||
int8 shuf = shuffle(aa, bb, programIndex + 2);
|
||||
RET[programIndex] = shuf;
|
||||
}
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
int16 aa = aFOO[programIndex];
|
||||
int16 bb = aa + programCount;
|
||||
int16 shuf = shuffle(aa, bb, programIndex + 2 + (int)b - 5);
|
||||
RET[programIndex] = shuf;
|
||||
if (programCount == 1)
|
||||
RET[0] = 3;
|
||||
else {
|
||||
int16 aa = aFOO[programIndex];
|
||||
int16 bb = aa + programCount;
|
||||
int16 shuf = shuffle(aa, bb, programIndex + 2 + (int)b - 5);
|
||||
RET[programIndex] = shuf;
|
||||
}
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
uniform unsigned int16 x[2*programCount];
|
||||
for (uniform int i = 0; i < 2*programCount; ++i)
|
||||
uniform unsigned int16 x[2*programCount+1];
|
||||
for (uniform int i = 0; i < 2*programCount+1; ++i)
|
||||
x[i] = 0xffff;
|
||||
unsigned int16 val = aFOO[programIndex];
|
||||
x[2+programIndex] = val;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
uniform int16 x[2*programCount];
|
||||
for (uniform int i = 0; i < 2*programCount; ++i)
|
||||
uniform int16 x[2*programCount+1];
|
||||
for (uniform int i = 0; i < 2*programCount+1; ++i)
|
||||
x[i] = 0xffff;
|
||||
unsigned int8 val = aFOO[programIndex];
|
||||
x[2+programIndex] = val;
|
||||
|
||||
@@ -10,5 +10,5 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
|
||||
export void result(uniform float RET[4]) {
|
||||
RET[programIndex] = 1;
|
||||
RET[programIndex] = (programCount == 1) ? 0 : 1;
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 10;
|
||||
RET[programIndex] = (programCount == 1) ? 4 : 10;
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float a = aFOO[programIndex];
|
||||
RET[programIndex] = extract(a, 1);
|
||||
RET[programIndex] = extract(a, min(1, programCount-1));
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 2.;
|
||||
RET[programIndex] = (programCount == 1) ? 1 : 2.;
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float a = aFOO[programIndex];
|
||||
RET[programIndex] = extract(a, (uniform int)b-3);
|
||||
RET[programIndex] = extract(a, min((uniform int)b-3, programCount-1));
|
||||
}
|
||||
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 3;
|
||||
RET[programIndex] = (programCount == 1) ? 1 : 3;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user