libcvd-members
[Top][All Lists]
Advanced

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

[libcvd-members] gvars3 gvars3/serialize.h src/serialize.cc


From: Georg Klein
Subject: [libcvd-members] gvars3 gvars3/serialize.h src/serialize.cc
Date: Wed, 31 May 2006 12:11:49 +0000

CVSROOT:        /cvsroot/libcvd
Module name:    gvars3
Branch:         
Changes by:     Georg Klein <address@hidden>    06/05/31 12:11:49

Modified files:
        gvars3         : serialize.h 
        src            : serialize.cc 

Log message:
        Make matrices not crash

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/gvars3/gvars3/serialize.h.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/libcvd/gvars3/src/serialize.cc.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: gvars3/gvars3/serialize.h
diff -u gvars3/gvars3/serialize.h:1.7 gvars3/gvars3/serialize.h:1.8
--- gvars3/gvars3/serialize.h:1.7       Tue May  9 12:24:04 2006
+++ gvars3/gvars3/serialize.h   Wed May 31 12:11:49 2006
@@ -79,7 +79,17 @@
                int from_string(std::string s, std::string& so);
 
                std::string to_string(const TooN::Matrix<>& m);
+               template<int N, int M> int from_string(std::string s, 
TooN::Matrix<N,M>& m);
                int from_string(std::string s, TooN::Matrix<>& m);
+               template<int N, int M> int from_string(std::string s, 
TooN::Matrix<N,M>& m)
+               {
+                 TooN::Matrix<> t;
+                 int result = from_string(s,t);
+                 if( result || t.num_rows()!= N || t.num_cols()!= M )
+                   return 1;
+                 m = t;
+                 return 0;
+               }
                std::string to_string(const TooN::Vector<>& m);
        }
 }
Index: gvars3/src/serialize.cc
diff -u gvars3/src/serialize.cc:1.6 gvars3/src/serialize.cc:1.7
--- gvars3/src/serialize.cc:1.6 Tue May  9 13:49:06 2006
+++ gvars3/src/serialize.cc     Wed May 31 12:11:49 2006
@@ -105,7 +105,8 @@
                for(int i=0;i<nRows;i++)
                        for(int j=0;j<nCols;j++)
                                m(i,j)=vd[i*nCols+j];
-
+               
+               mat.resize(m.num_rows(), m.num_cols());
                mat = m;
 
                return 0;




reply via email to

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