toon-members
[Top][All Lists]
Advanced

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

[Toon-members] TooN internal/reference.hh test/test_foreign.cc


From: Edward Rosten
Subject: [Toon-members] TooN internal/reference.hh test/test_foreign.cc
Date: Wed, 15 Apr 2009 16:24:20 +0000

CVSROOT:        /cvsroot/toon
Module name:    TooN
Changes by:     Edward Rosten <edrosten>        09/04/15 16:24:20

Modified files:
        internal       : reference.hh 
        test           : test_foreign.cc 

Log message:
        Removed old wrapping interface. Added new convenience function 
wrapVector

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/internal/reference.hh?cvsroot=toon&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/TooN/test/test_foreign.cc?cvsroot=toon&r1=1.5&r2=1.6

Patches:
Index: internal/reference.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/reference.hh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- internal/reference.hh       12 Apr 2009 09:48:56 -0000      1.2
+++ internal/reference.hh       15 Apr 2009 16:24:19 -0000      1.3
@@ -77,38 +77,12 @@
        };
 };
 
-template<int R, int C, typename Precision=double, class 
Type=Reference::RowMajor> struct Wrap
-{
-       static Matrix<R, C, Precision, Type> wrap(Precision* p)
-       {
-               return Matrix<R, C, Precision, Type>(p);
-       }
-};
-
-
-template<int R, typename Precision, class Type> struct Wrap<R, Dynamic, 
Precision, Type>
-{
-       static Matrix<R, Dynamic, Precision, Type> wrap(Precision* p, int cols)
-       {
-               return Matrix<R, Dynamic, Precision, Type>(p, 0, cols);
-       }
-};
-
-
-template<int C, typename Precision, class Type> struct Wrap<Dynamic, C, 
Precision, Type>
-{
-       static Matrix<Dynamic, C, Precision, Type> wrap(Precision* p, int rows)
-       {
-               return Matrix<Dynamic, C, Precision, Type>(p, rows, 0);
-       }
-};
-
-
-template<typename Precision, class Type> struct Wrap<Dynamic, Dynamic, 
Precision, Type>
-{
-       static Matrix<Dynamic, Dynamic, Precision, Type> wrap(Precision* p, int 
rows, int cols)
-       {
-               return Matrix<Dynamic, Dynamic, Precision, Type>(p, rows, cols);
-       }
-};
 
+                                          Vector<Dynamic, double,    
Reference> wrapVector(double* data, int size)          { return Vector<Dynamic, 
double,    Reference>(data, size); }
+                                    const Vector<Dynamic, double,    
Reference> wrapVector(const double* data, int size)    { return Vector<Dynamic, 
double,    Reference>(const_cast<double*>(data), size); }
+template<int Size>                        Vector<Size,    double,    
Reference> wrapVector(double* data)                    { return Vector<Size,    
double,    Reference>(data); }
+template<int Size>                  const Vector<Size,    double,    
Reference> wrapVector(const double* data)              { return Vector<Size,    
double,    Reference>(const_cast<double*>(data)); }
+template<class Precision>                 Vector<Dynamic, Precision, 
Reference> wrapVector(Precision* data, int size)       { return Vector<Dynamic, 
Precision, Reference>(data, size); }
+template<class Precision>           const Vector<Dynamic, Precision, 
Reference> wrapVector(const Precision* data, int size) { return Vector<Dynamic, 
Precision, Reference>(const_cast<Precision*>(data), size); }
+template<int Size, class Precision>       Vector<Size,    Precision, 
Reference> wrapVector(Precision* data)                 { return Vector<Size,    
Precision, Reference>(data); }
+template<int Size, class Precision> const Vector<Size,    Precision, 
Reference> wrapVector(const Precision* data)           { return Vector<Size,    
Precision, Reference>(const_cast<Precision*>(data)); }

Index: test/test_foreign.cc
===================================================================
RCS file: /cvsroot/toon/TooN/test/test_foreign.cc,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- test/test_foreign.cc        12 Apr 2009 01:23:47 -0000      1.5
+++ test/test_foreign.cc        15 Apr 2009 16:24:19 -0000      1.6
@@ -14,10 +14,6 @@
        cout << Matrix<-1,3,double, Reference::RowMajor> (data,2,3) << endl;
        cout << Matrix<-1,-1,double, Reference::RowMajor> (data,2,3) << endl;
 
-       cout << Wrap<2,3>::wrap(data) << endl;
-       cout << Wrap<2,Dynamic>::wrap(data,3) << endl;
-       cout << Wrap<Dynamic,3>::wrap(data,2) << endl;
-       cout << Wrap<Dynamic, Dynamic>::wrap(data,2,3) << endl;
 
 
        cout << Matrix<2,3,double, Reference::ColMajor> (data) << endl;
@@ -25,12 +21,8 @@
        cout << Matrix<-1,3,double, Reference::ColMajor> (data,2,3) << endl;
        cout << Matrix<-1,-1,double, Reference::ColMajor> (data,2,3) << endl;
 
-       cout << Wrap<2,3,double,Reference::ColMajor>::wrap(data) << endl;
-       cout << Wrap<2,Dynamic,double,Reference::ColMajor>::wrap(data,3) << 
endl;
-       cout << Wrap<Dynamic,3,double,Reference::ColMajor>::wrap(data,2) << 
endl;
-       cout << Wrap<Dynamic, 
Dynamic,double,Reference::ColMajor>::wrap(data,2,3) << endl;
-
-
+       cout << wrapVector<6>(data) << endl;
+       cout << wrapVector(data, 6) << endl;
        cout << Vector<6,double,Reference> (data) << endl;
        cout << Vector<-1,double,Reference> (data,6) << endl;
 




reply via email to

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