Changeset 4 for tests

Show
Ignore:
Timestamp:
03/13/07 10:33:27 (2 years ago)
Author:
pernet
Message:

Clean up the code for charpoly, + misc updates

Location:
tests
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • tests/Makefile

    r1 r4  
    2525 
    2626OPTFLAGS+=-O3 
    27 OPTFLAGS+=-g 
     27OPTFLAGS+=-g -Wall 
    2828OPTFLAGS+= ${ARCH} 
    2929 
  • tests/Matio.h

    r1 r4  
    1111  int is_gzipped = 0; 
    1212  size_t s = strlen(mat_file); 
    13   double* X; 
     13  double* X=NULL; 
    1414  if ((mat_file[--s] == 'z') &&  
    1515      (mat_file[--s] == 'g') &&  
     
    2828  if (FileDes != NULL) { 
    2929    char * tmp = new char[200];// usigned long tni, tnj; 
    30     fscanf(FileDes,"%d %d %s\n",tni, tnj, &tmp) ; 
     30    fscanf(FileDes,"%d %d %s\n",tni, tnj, tmp) ; 
    3131    int n=*tni; 
    3232    int p=*tnj; 
     
    4343   
    4444  fclose(FileDes); 
    45   if (is_gzipped) system(UT);         
    4645  return X; 
    4746} 
     
    5756    c << std::endl; 
    5857  } 
    59   c << std::endl; 
     58  return c << std::endl; 
    6059} 
    6160 
     
    7170  typename Field::Element zero; 
    7271  F.init(zero,0.0); 
    73   typename Field::Element * X; 
     72  typename Field::Element * X=NULL; 
    7473  if ((mat_file[--s] == 'z') &&  
    7574      (mat_file[--s] == 'g') &&  
     
    8786  if (FileDes != NULL) { 
    8887    char  tmp[200];// usigned long tni, tnj; 
    89     fscanf(FileDes,"%d %d %s\n",tni, tnj, &tmp) ; 
     88    fscanf(FileDes,"%d %d %s\n",tni, tnj, tmp) ; 
    9089 
    9190    int n=*tni; 
     
    103102   
    104103  fclose(FileDes); 
    105   if (is_gzipped) system(UT);         
    106104  return X; 
    107105} 
     
    121119    c << std::endl; 
    122120  } 
    123   c << std::endl; 
     121  return c << std::endl; 
    124122  //#endif 
    125123} 
  • tests/test-charpoly.C

    r1 r4  
    1  
    21/* -*- mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 
    32//-------------------------------------------------------------------------- 
     
    4847        int nbit=atoi(argv[3]); // number of times the product is performed 
    4948        Field F((long unsigned int)atoi(argv[1])); 
    50         Field::Element * A,*Ab; 
     49        Field::Element * A; 
    5150        A = read_field(F,argv[2],&n,&n); 
    5251                 
     
    5857                t.start(); 
    5958                 
    60                 FFPACK::CharPoly (F, P_list, n, A, n, FFPACK::FfpackLUK); 
     59                FFPACK::CharPoly (F, P_list, n, A, n); 
    6160                t.stop(); 
    6261                tim+=t; 
  • tests/test-fgemm.C

    r1 r4  
    77//------------------------------------------------------------------------- 
    88 
    9 #define DEBUG 1 
     9#define DEBUG 0 
    1010#define TIME 1 
    1111 
  • tests/test-frobenius.C

    r1 r4  
    2828                o << vect[i] << " " ; 
    2929        return o << vect[vect.size()-1] << std::endl; 
    30 } 
     30        } 
    3131 
    3232int main(int argc, char** argv){ 
     
    5151        tim.clear(); 
    5252        tim.start(); 
    53         FFPACK::Frobenius (F, frobForm, n, A, n, c); 
     53        FFPACK::CharpolyArithProg (F, frobForm, n, A, n, c); 
    5454        tim.stop();  
    5555        std::list<vector<Field::Element> >::iterator it = frobForm.begin(); 
    56         size_t i=0; 
    5756        while(it != frobForm.end()){ 
    5857                printvect (cout, *(it++)); 
    5958        } 
    6059        cerr<<c<<" "<<tim.usertime()<<" "<<4.55*n*n/1000000.0*n/tim.usertime()<<endl; 
     60        delete[] A; 
    6161        return 0;               
    6262} 
    63  
  • tests/test-lqup.C

    r2 r4  
    2727int main(int argc, char** argv){ 
    2828        cerr<<setprecision(20); 
    29         int i,j,m,n,nbf,R; 
     29        int i,j,nbf,m,n; 
     30        size_t R=0; 
    3031 
    3132        if (argc!=5){ 
     
    8081                for (size_t j=0; j<i; ++j) 
    8182                        F.assign ( *(U + i*n + j), zero); 
    82                 for (size_t j=i; j<n; ++j) 
     83                for (int j=i; j<n; ++j) 
    8384                        F.assign (*(U + i*n + j), *(A+ i*n+j)); 
    8485        } 
    85         for ( size_t i=0; i<m; ++i ){ 
    86                 size_t j=0; 
     86        for ( int i=0; i<m; ++i ){ 
     87                int j=0; 
    8788                for (; j< ((i<n)?i:n) ; ++j ) 
    8889                        F.assign( *(L + i*m+j), *(A+i*n+j)); 
     
    9394        FFPACK::applyP( F, FFLAS::FflasRight, FFLAS::FflasNoTrans, m,0,m, L, m, Q); 
    9495        if (diag == FFLAS::FflasNonUnit) 
    95                 for ( size_t i=0; i<m; ++i ) 
     96                for ( int i=0; i<m; ++i ) 
    9697                        F.assign (*(L+i*(m+1)),one); 
    9798        else{ 
     
    108109        Field::Element * B =  read_field(F,argv[2],&m,&n); 
    109110        bool fail = false; 
    110         for (size_t i=0; i<m; ++i) 
    111                 for (size_t j=0; j<n; ++j) 
     111        for (int i=0; i<m; ++i) 
     112                for (int j=0; j<n; ++j) 
    112113                        if (!F.areEqual (*(B+i*n+j), *(X+i*n+j))) 
    113114                                fail=true; 
    114115         
     116        delete[] B; 
    115117        if (fail) 
    116118                cerr<<"FAIL"<<endl;