summaryrefslogtreecommitdiff
path: root/test-chill/test-cases/examples/chill/gemv.c
blob: 39b083c2baec54beaacab0691b341b7fd7482c18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef N
#define N 512
#endif

/*
<test name=gemv define="{'N':512}">
procedure int gemv(
    out float[N]    a = matrix([],  lambda i:   random(2,-2)),
    in  float[N]    b = matrix([],  lambda i:   random(2,-2)),
    in  float[N][N] c = matrix([,], lambda i,j: random(2,-2)))
</test>
*/
int gemv(float a[N], float b[N], float c[N][N]) {
    int i, j;

    for (i = 1; i < N; i++)
        for (j = 1; j < N; j++)
            a[i] = a[i] + c[i][j] * b[j];

    return 0;
}