A an array of tests

This commit is contained in:
2017-05-12 12:33:51 -04:00
parent 2921430e45
commit 1eb64a13e1
5 changed files with 63 additions and 6 deletions

13
tests_ispcpp/array.ispc Normal file
View File

@@ -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;
}

17
tests_ispcpp/error_5.ispc Normal file
View File

@@ -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;
}
}

14
tests_ispcpp/error_6.ispc Normal file
View File

@@ -0,0 +1,14 @@
number pow(number b, int a) {
number out = b;
for (int i = 1; i<a; i++) {
out *= b;
}
return out;
}
export void square(uniform int N, uniform number$-1 b[], uniform number$-1 out[]) {
foreach (i = 0 ... N) {
out[i] = pow(b[i], 2);
}
}

13
tests_ispcpp/error_7.ispc Normal file
View File

@@ -0,0 +1,13 @@
floating foo(floating a, floating b) {
floating d = a / b;
if (d < 0.)
return 0.;
return d;
}
export void bar(uniform integer * uniform X, uniform int N) {
foreach (i = 0 ... N-1) {
X[i] = foo(X[i], X[i+1]);
}
}

View File

@@ -1,15 +1,15 @@
floating saxpy_helper(floating scale,
floating<0> 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]);