toon-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Toon-members] TooN SymEigen.h


From: Edward Rosten
Subject: [Toon-members] TooN SymEigen.h
Date: Mon, 07 Dec 2009 11:08:37 +0000

CVSROOT:        /cvsroot/toon
Module name:    TooN
Changes by:     Edward Rosten <edrosten>        09/12/07 11:08:37

Modified files:
        .              : SymEigen.h 

Log message:
        Variable sized SymEigen

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/SymEigen.h?cvsroot=toon&r1=1.25&r2=1.26

Patches:
Index: SymEigen.h
===================================================================
RCS file: /cvsroot/toon/TooN/SymEigen.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- SymEigen.h  3 Dec 2009 18:27:27 -0000       1.25
+++ SymEigen.h  7 Dec 2009 11:08:37 -0000       1.26
@@ -57,8 +57,13 @@
                ///@param m Input matrix (assumed to be symmetric)
                ///@param evectors Eigen vector output
                ///@param evalues Eigen values output
-               template<typename P, typename B>
-               static inline void compute(const Matrix<Size,Size,P, B>& m, 
Matrix<Size,Size,P> & evectors, Vector<Size, P>& evalues) {
+               template<int Rows, int Cols, typename P, typename B>
+               static inline void compute(const Matrix<Rows,Cols,P, B>& m, 
Matrix<Size,Size,P> & evectors, Vector<Size, P>& evalues) {
+
+                       SizeMismatch<Rows, Cols>::test(m.num_rows(), 
m.num_cols());      //m must be square
+                       SizeMismatch<Size, Rows>::test(m.num_rows(), 
evalues.size()); //m must be the size of the system
+                       
+
                        evectors = m;
                        int N = evalues.size();
                        int lda = evalues.size();




reply via email to

[Prev in Thread] Current Thread [Next in Thread]