Changeset 2906 in Sophya for trunk


Ignore:
Timestamp:
Jan 16, 2006, 2:35:31 PM (20 years ago)
Author:
cmv
Message:

throw sur erreur lapack cmv 16/01/2006

Location:
trunk/SophyaExt/LinAlg
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaExt/LinAlg/intflapack.cc

    r2880 r2906  
    285285////////////////////////////////////////////////////////////////////////////////////
    286286template <class T>
    287 LapackServer<T>::LapackServer()
     287LapackServer<T>::LapackServer(bool throw_on_error)
     288  : Throw_On_Error(throw_on_error)
    288289{
    289290  SetWorkSpaceSizeFactor();
     
    371372  }
    372373  delete[] ipiv;
     374  if(info!=0 && Throw_On_Error) {
     375    char serr[128]; sprintf(serr,"LinSolve_Error info=%d",info);
     376    throw NotFoundExc(serr);
     377  }
    373378  return(info);
    374379}
     
    455460  if(work) delete[] work;
    456461  delete[] ipiv;
     462  if(info!=0 && Throw_On_Error) {
     463    char serr[128]; sprintf(serr,"LinSolveSym_Error info=%d",info);
     464    throw NotFoundExc(serr);
     465  }
    457466  return(info);
    458467}
     
    550559  }
    551560  if(work) delete [] work;
     561  if(info!=0 && Throw_On_Error) {
     562    char serr[128]; sprintf(serr,"LeastSquareSolve_Error info=%d",info);
     563    throw NotFoundExc(serr);
     564  }
    552565  return(info);
    553566}
     
    708721
    709722  if(work) delete [] work; if(iwork) delete [] iwork;
     723  if(info!=0 && Throw_On_Error) {
     724    char serr[128]; sprintf(serr,"LeastSquareSolveSVD_DC_Error info=%d",info);
     725    throw NotFoundExc(serr);
     726  }
    710727  return(info);
    711728}
     
    874891  if (jobu == 'N') delete up;
    875892  if (jobvt == 'N') delete vtp;
     893  if(info!=0 && Throw_On_Error) {
     894    char serr[128]; sprintf(serr,"SVDDriver_Error info=%d",info);
     895    throw NotFoundExc(serr);
     896  }
    876897  return(info);
    877898}
     
    962983
    963984  if(work) delete [] work; if(iwork) delete [] iwork;
     985  if(info!=0 && Throw_On_Error) {
     986    char serr[128]; sprintf(serr,"SVD_DC_Error info=%d",info);
     987    throw NotFoundExc(serr);
     988  }
    964989  return(info);
    965990}
     
    10401065
    10411066  if(work) delete [] work;
     1067  if(info!=0 && Throw_On_Error) {
     1068    char serr[128]; sprintf(serr,"LapackEigenSym_Error info=%d",info);
     1069    throw NotFoundExc(serr);
     1070  }
    10421071  return(info);
    10431072}
     
    11461175
    11471176  if(work) delete [] work;
     1177  if(info!=0 && Throw_On_Error) {
     1178    char serr[128]; sprintf(serr,"LapackEigen_Error info=%d",info);
     1179    throw NotFoundExc(serr);
     1180  }
    11481181  return(info);
    11491182}
  • trunk/SophyaExt/LinAlg/intflapack.h

    r2646 r2906  
    1111class LapackServer {
    1212public:
    13   LapackServer();
     13  LapackServer(bool throw_on_error=false);
    1414  virtual ~LapackServer();
    1515
     
    4444
    4545  int wspace_size_factor;
     46  bool Throw_On_Error;
    4647};
    4748
Note: See TracChangeset for help on using the changeset viewer.