Statistics
| Branch: | Revision:

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
}