- Timestamp:
- Jan 16, 2006, 2:35:31 PM (20 years ago)
- Location:
- trunk/SophyaExt/LinAlg
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/LinAlg/intflapack.cc
r2880 r2906 285 285 //////////////////////////////////////////////////////////////////////////////////// 286 286 template <class T> 287 LapackServer<T>::LapackServer() 287 LapackServer<T>::LapackServer(bool throw_on_error) 288 : Throw_On_Error(throw_on_error) 288 289 { 289 290 SetWorkSpaceSizeFactor(); … … 371 372 } 372 373 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 } 373 378 return(info); 374 379 } … … 455 460 if(work) delete[] work; 456 461 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 } 457 466 return(info); 458 467 } … … 550 559 } 551 560 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 } 552 565 return(info); 553 566 } … … 708 721 709 722 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 } 710 727 return(info); 711 728 } … … 874 891 if (jobu == 'N') delete up; 875 892 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 } 876 897 return(info); 877 898 } … … 962 983 963 984 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 } 964 989 return(info); 965 990 } … … 1040 1065 1041 1066 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 } 1042 1071 return(info); 1043 1072 } … … 1146 1175 1147 1176 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 } 1148 1181 return(info); 1149 1182 } -
trunk/SophyaExt/LinAlg/intflapack.h
r2646 r2906 11 11 class LapackServer { 12 12 public: 13 LapackServer( );13 LapackServer(bool throw_on_error=false); 14 14 virtual ~LapackServer(); 15 15 … … 44 44 45 45 int wspace_size_factor; 46 bool Throw_On_Error; 46 47 }; 47 48
Note:
See TracChangeset
for help on using the changeset viewer.