A an array of tests
This commit is contained in:
13
tests_ispcpp/array.ispc
Normal file
13
tests_ispcpp/array.ispc
Normal 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
17
tests_ispcpp/error_5.ispc
Normal 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
14
tests_ispcpp/error_6.ispc
Normal 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
13
tests_ispcpp/error_7.ispc
Normal 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]);
|
||||
}
|
||||
}
|
||||
@@ -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]);
|
||||
|
||||
Reference in New Issue
Block a user