diff --git a/tests_ispcpp/array.ispc b/tests_ispcpp/array.ispc new file mode 100644 index 00000000..36bdb261 --- /dev/null +++ b/tests_ispcpp/array.ispc @@ -0,0 +1,13 @@ +export void array(uniform int N, uniform integer * uniform X) { + integer *A = new integer[N/2]; + + foreach (i = 0 ... N/2) { + A[i] = X[i] + X[N/2 + i]; + } + + foreach (i = 0 ... N) { + X[i] = A[i/2]; + } + + delete[] A; +} diff --git a/tests_ispcpp/error_5.ispc b/tests_ispcpp/error_5.ispc new file mode 100644 index 00000000..31b21721 --- /dev/null +++ b/tests_ispcpp/error_5.ispc @@ -0,0 +1,17 @@ +//@error + +floating$0 mult(floating$0 x, floating$1 y) { + return x * y; +} + +export void saxpy(uniform int N, + uniform floating$0 scale, + uniform floating$1 X[], + uniform floating$1 Y[], + uniform floating$2 result[]) +{ + foreach (i = 0 ... N) { + floating$ tmp = mult(scale, X[i]) + Y[i]; + result[i] = tmp; + } +} diff --git a/tests_ispcpp/error_6.ispc b/tests_ispcpp/error_6.ispc new file mode 100644 index 00000000..5b2edcbc --- /dev/null +++ b/tests_ispcpp/error_6.ispc @@ -0,0 +1,14 @@ +number pow(number b, int a) { + number out = b; + for (int i = 1; i x, - floating<0> y) { + floating$3 x, + floating$3 y) { return scale * x + y; } export void saxpy(uniform int N, - uniform floating<0> scale, - uniform floating<1> X[], - uniform floating<1> Y[], - uniform floating<2> result[]) + uniform floating$0 scale, + uniform floating$1 X[], + uniform floating$1 Y[], + uniform floating$2 result[]) { foreach (i = 0 ... N) { result[i] = saxpy_helper(scale, X[i], Y[i]);