root / synthbench / euroben-ports / base / C / mod2am_std / .svn / text-base / mod2am.c.svn-base @ 0:839f52ef7657
History | View | Annotate | Download (1.1 kB)
1 |
#include <stdio.h> |
---|---|
2 |
#include <stdlib.h> |
3 |
#include "fundefs.h" |
4 |
|
5 |
int main() |
6 |
{ |
7 |
int lda, m, l, n; |
8 |
int ok, nrep; |
9 |
int i; |
10 |
double **a, **b, **c; |
11 |
double corr, nops, time; |
12 |
FILE *inl; |
13 |
// ------------------------------------------------------------------------ |
14 |
state( "mod2a" ); |
15 |
prthead(); |
16 |
inl = fopen( "mod2am.in", "r" ); |
17 |
while( ( fscanf( inl, "%d%d%d%d\n", &m, &l, &n, &nrep ) != EOF ) ){ |
18 |
lda = l + 1; |
19 |
a = makmat( m, lda ); |
20 |
b = makmat( l, n ); |
21 |
c = makmat( m, n ); |
22 |
gendat( lda, m, l, n, a, b ); |
23 |
time = cclock(); |
24 |
for( i = 0; i < nrep; i++ ){ |
25 |
clr_arr( n, m, c ); |
26 |
mxm( lda, m, l, n, a, b, c ); |
27 |
} |
28 |
time = cclock() - time; |
29 |
ok = check( m, l, n, c ); |
30 |
corr = cclock(); |
31 |
for( i = 0; i < nrep; i++ ){ |
32 |
clr_arr( n, m, c ); |
33 |
} |
34 |
corr = cclock() - corr; |
35 |
time = ( time - corr )/nrep; |
36 |
nops = 2*(double)m*(double)l*(double)n; |
37 |
prtspeed( m, l, n, time, ok, nops ); |
38 |
delmat( m, a ); |
39 |
delmat( l, b ); |
40 |
delmat( m, c ); |
41 |
} |
42 |
printf( "-------------------------------------------------\n" ); |
43 |
} |