Changeset 21 for tests

Show
Ignore:
Timestamp:
05/01/07 19:23:34 (2 years ago)
Author:
pernet
Message:

Introduction of the new automatic choice of underlying BLAS, for any finite finite field implementation:
float/double is chosen depending on the prime, the dimension, and efficiency considerations.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • tests/test-fgemv.C

    r1 r21  
    77//------------------------------------------------------------------------- 
    88 
    9 #define DEBUG 0 
     9#define DEBUG 1 
    1010#define TIME 1 
    1111 
     
    4545        Field::Element * A; 
    4646        Field::Element * b; 
    47         size_t lda; 
    48         size_t ldb; 
    4947         
    5048        b = read_field(F,argv[3],&n,&k); 
     
    6765        } 
    6866 
     67#if DEBUG 
     68        Field::Element *d = new Field::Element[n]; 
     69        for (int i=0; i<m; ++i) 
     70                F.mul (d[i], beta, b[i]); 
     71        for (int i=0; i<m; ++i) 
     72                F.mulin (b[i], alpha); 
     73        for (int i=0; i<m; ++i) 
     74                for (int j=0; j<n; ++j) 
     75                        F.axpyin (d[i], *(A+i*m+j), b[j]); 
     76        bool fail = false; 
     77        for (int i=0; i<m; ++i) 
     78                if (!F.areEqual(d[i], c[i])) 
     79                        fail = true; 
     80 
     81        if (fail) 
     82                cerr<<"FAIL"<<endl; 
     83        else 
     84                cerr<<"PASS"<<endl; 
     85        delete[] d; 
     86#endif 
     87        delete[] A; 
     88        delete[] b; 
     89        delete[] c; 
    6990#if TIME 
    7091        double mflops = (2.0*(m*n/1000000.0)*nbit/tim.usertime());