summaryrefslogtreecommitdiff
path: root/examples/chill/unroll.c
blob: e74dea3f2b43b6964b802a09ab3014b69754fac8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

#define N 14
#define DT 0.314

void foo(int n, float* x, float* y, float* z, float* f3, float* f1, float* w) {

	int i, j;

	for (i = 1; i <= 14; i++)
		x[i] = 1.0;

	for (i = 1; i <= 14; i += 3)
		y[i] = 1.0;

	for (i = N + 1; i <= N + 20; i += 3)
		z[i] = 1.0;

	for (i = 0; i <= N; i++) {
		for (j = i; j <= i + N; j++)
			f3[i] = f3[i] + f1[j] * w[j - i];
		f3[i] = f3[i] * DT;
	}

	return 0;
}

int main() {
	float x[N], y[N], z[N], f3[N], f1[N], w[N];

	foo(N, x, y, z, f3, f1, w);
	return 0;
}