Changeset 1342 in Sophya for trunk/SophyaExt/LinAlg/intflapack.h
- Timestamp:
- Nov 24, 2000, 10:47:37 AM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/LinAlg/intflapack.h
r1042 r1342 10 10 class LapackServer { 11 11 public: 12 int LinSolve(TArray<T>& a, TArray<T> & b); 12 LapackServer(); 13 virtual ~LapackServer(); 14 15 virtual int LinSolve(TArray<T>& a, TArray<T> & b); 16 virtual int SVD(TArray<T>& a, TArray<T> & s); 17 virtual int SVD(TArray<T>& a, TArray<T> & s, TArray<T> & u, TArray<T> & vt); 18 19 inline void SetWorkSpaceSizeFactor(int f = 2) 20 { wspace_size_factor = (f > 1) ? f : 1; } 21 inline int GetWorkSpaceSizeFactor() 22 { return wspace_size_factor; } 23 24 private: 25 int SVDDriver(TArray<T>& a, TArray<T> & s, 26 TArray<T>* up=NULL, TArray<T> * vtp=NULL); 27 28 int wspace_size_factor; 13 29 }; 14 30 15 31 template <class T> 16 32 inline int LapackLinSolve(TArray<T>& a, TArray<T> & b) 17 { LapackServer<T> lps; return( lps.LinSolve(a, b) ); } 33 { LapackServer<T> lps; return( lps.LinSolve(a, b) ); } 34 35 template <class T> 36 inline int LapackSVD(TArray<T>& a, TArray<T> & s) 37 { LapackServer<T> lps; return( lps.SVD(a, s) ); } 38 39 template <class T> 40 inline int LapackSVD(TArray<T>& a, TArray<T> & s, TArray<T> & u, TArray<T> & vt) 41 { LapackServer<T> lps; return( lps.SVD(a, s, u, vt) ); } 18 42 19 43
Note:
See TracChangeset
for help on using the changeset viewer.