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 saxpy_helper(floating scale,
|
||||||
floating<0> x,
|
floating$3 x,
|
||||||
floating<0> y) {
|
floating$3 y) {
|
||||||
return scale * x + y;
|
return scale * x + y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export void saxpy(uniform int N,
|
export void saxpy(uniform int N,
|
||||||
uniform floating<0> scale,
|
uniform floating$0 scale,
|
||||||
uniform floating<1> X[],
|
uniform floating$1 X[],
|
||||||
uniform floating<1> Y[],
|
uniform floating$1 Y[],
|
||||||
uniform floating<2> result[])
|
uniform floating$2 result[])
|
||||||
{
|
{
|
||||||
foreach (i = 0 ... N) {
|
foreach (i = 0 ... N) {
|
||||||
result[i] = saxpy_helper(scale, X[i], Y[i]);
|
result[i] = saxpy_helper(scale, X[i], Y[i]);
|
||||||
|
|||||||
Reference in New Issue
Block a user