toon-members
[Top][All Lists]
Advanced

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

[Toon-members] TooN/internal mbase.hh vbase.hh


From: Tom Drummond
Subject: [Toon-members] TooN/internal mbase.hh vbase.hh
Date: Fri, 06 Mar 2009 16:52:52 +0000

CVSROOT:        /cvsroot/toon
Module name:    TooN
Changes by:     Tom Drummond <twd20>    09/03/06 16:52:52

Modified files:
        internal       : mbase.hh vbase.hh 

Log message:
        simplified struct slice in mbase and resolved consequences

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/internal/mbase.hh?cvsroot=toon&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/TooN/internal/vbase.hh?cvsroot=toon&r1=1.18&r2=1.19

Patches:
Index: mbase.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/mbase.hh,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- mbase.hh    6 Mar 2009 15:55:44 -0000       1.19
+++ mbase.hh    6 Mar 2009 16:52:52 -0000       1.20
@@ -12,9 +12,7 @@
 //-2 means dynamic stride is tied to size for a normal matrix
 template<int RowStride, int ColStride> struct Slice
 {
-       //This can't be called Layout since apparently Layout::Layout is not
-       //allowed. Can anyone think of a better name than Base?
-       struct Base{
+  
                template<int Rows, int Cols, class Precision> struct Layout: 
public GenericMBase<Rows, Cols, Precision, RowStride, ColStride, 
MatrixSlice<Rows, Cols, Precision> >
                {
                        //Optional constructors.
@@ -28,7 +26,6 @@
                        {
                        }
                };
-       };
 };
 
 
@@ -100,42 +97,42 @@
 
 
        template<int Rstart, int Cstart, int Rlength, int Clength>
-       Matrix<Rlength, Clength, Precision, typename 
Slice<SliceRowStride,SliceColStride>::Base > slice()
+       Matrix<Rlength, Clength, Precision, 
Slice<SliceRowStride,SliceColStride> > slice()
        {
                //Always pass the stride as a run-time parameter. It will be 
ignored
                //by SliceHolder (above) if it is statically determined.
                Internal::CheckStaticSlice<Rows, Rstart, 
Rlength>::check(num_rows());
                Internal::CheckStaticSlice<Cols, Cstart, 
Clength>::check(num_cols());
-               return Matrix<Rlength, Clength, Precision, typename 
Slice<SliceRowStride,SliceColStride>::Base>(my_data+rowstride()*Rstart + 
colstride()*Cstart, rowstride(), colstride(), Slicing());
+               return Matrix<Rlength, Clength, Precision, 
Slice<SliceRowStride,SliceColStride> >(my_data+rowstride()*Rstart + 
colstride()*Cstart, rowstride(), colstride(), Slicing());
        }
 
        template<int Rstart, int Cstart, int Rlength, int Clength>
-       const Matrix<Rlength, Clength, Precision, typename 
Slice<SliceRowStride,SliceColStride>::Base> slice() const
+       const Matrix<Rlength, Clength, Precision, 
Slice<SliceRowStride,SliceColStride> > slice() const
        {
                Internal::CheckStaticSlice<Rows, Rstart, 
Rlength>::check(num_rows());
                Internal::CheckStaticSlice<Cols, Cstart, 
Clength>::check(num_cols());
-               return Matrix<Rlength, Clength, Precision, typename 
Slice<SliceRowStride,SliceColStride>::Base>(const_cast<Precision*>(my_data+rowstride()*Rstart
 + colstride()*Cstart), rowstride(), colstride(), Slicing());
+               return Matrix<Rlength, Clength, Precision, 
Slice<SliceRowStride,SliceColStride> 
>(const_cast<Precision*>(my_data+rowstride()*Rstart + colstride()*Cstart), 
rowstride(), colstride(), Slicing());
        }
 
-       Matrix<-1, -1, Precision, typename 
Slice<SliceRowStride,SliceColStride>::Base > slice(int rs, int cs, int rl, int 
cl){
+       Matrix<-1, -1, Precision, Slice<SliceRowStride,SliceColStride> > 
slice(int rs, int cs, int rl, int cl){
                Internal::CheckDynamicSlice::check(num_rows(), rs, rl);
                Internal::CheckDynamicSlice::check(num_cols(), cs, cl);
-               return Matrix<-1, -1, Precision, typename 
Slice<SliceRowStride,SliceColStride>::Base >(my_data+rowstride()*rs 
+colstride()*cs, rl, cl, rowstride(), colstride(), Slicing());
+               return Matrix<-1, -1, Precision, 
Slice<SliceRowStride,SliceColStride> >(my_data+rowstride()*rs +colstride()*cs, 
rl, cl, rowstride(), colstride(), Slicing());
        }
 
-       const Matrix<-1, -1, Precision, typename 
Slice<SliceRowStride,SliceColStride>::Base > slice(int rs, int cs, int rl, int 
cl) const {
+       const Matrix<-1, -1, Precision, Slice<SliceRowStride,SliceColStride> > 
slice(int rs, int cs, int rl, int cl) const {
                Internal::CheckDynamicSlice::check(num_rows(), rs, rl);
                Internal::CheckDynamicSlice::check(num_cols(), cs, cl);
-               return Matrix<-1, -1, Precision, typename 
Slice<SliceRowStride,SliceColStride>::Base 
>(const_cast<Precision*>(my_data+rowstride()*rs +colstride()*cs), rl, cl, 
rowstride(), colstride(), Slicing());
+               return Matrix<-1, -1, Precision, 
Slice<SliceRowStride,SliceColStride> 
>(const_cast<Precision*>(my_data+rowstride()*rs +colstride()*cs), rl, cl, 
rowstride(), colstride(), Slicing());
        }
 
 
-       Matrix<Cols, Rows, Precision, typename 
Slice<SliceColStride,SliceRowStride>::Base> T(){
-               return Matrix<Cols, Rows, Precision, typename 
Slice<SliceColStride,SliceRowStride>::Base>(my_data, num_cols(), num_rows(), 
colstride(), rowstride(), Slicing());
+       Matrix<Cols, Rows, Precision, Slice<SliceColStride,SliceRowStride> > 
T(){
+               return Matrix<Cols, Rows, Precision, 
Slice<SliceColStride,SliceRowStride> >(my_data, num_cols(), num_rows(), 
colstride(), rowstride(), Slicing());
        }
 
-       const Matrix<Cols, Rows, Precision, typename 
Slice<SliceColStride,SliceRowStride>::Base> T() const{
-               return Matrix<Cols, Rows, Precision, typename 
Slice<SliceColStride,SliceRowStride>::Base>(const_cast<Precision*>(my_data), 
num_cols(), num_rows(), colstride(), rowstride(), Slicing());
+       const Matrix<Cols, Rows, Precision, 
Slice<SliceColStride,SliceRowStride> > T() const{
+               return Matrix<Cols, Rows, Precision, 
Slice<SliceColStride,SliceRowStride> >(const_cast<Precision*>(my_data), 
num_cols(), num_rows(), colstride(), rowstride(), Slicing());
        }
 };
 

Index: vbase.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/vbase.hh,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- vbase.hh    6 Mar 2009 15:34:33 -0000       1.18
+++ vbase.hh    6 Mar 2009 16:52:52 -0000       1.19
@@ -109,20 +109,20 @@
                return Vector<-1, Precision, SliceVBase<Stride> 
>(const_cast<Precision*>(my_data + stride()*start), length, stride(), 
Slicing());
        }
 
-       const Matrix<1, Size, Precision, typename Slice<1,Stride>::Base> 
as_row() const{
-               return Matrix<1, Size, Precision, typename 
Slice<1,Stride>::Base>(const_cast<Precision*>(my_data), 1, Size, 1, stride(), 
Slicing());
+       const Matrix<1, Size, Precision, Slice<1,Stride> > as_row() const{
+               return Matrix<1, Size, Precision, Slice<1,Stride> 
>(const_cast<Precision*>(my_data), 1, Size, 1, stride(), Slicing());
        }
 
-       Matrix<1, Size, Precision, typename Slice<1,Stride>::Base> as_row(){
-               return Matrix<1, Size, Precision, typename 
Slice<1,Stride>::Base>(my_data, 1, Size, 1, stride(), Slicing());
+       Matrix<1, Size, Precision, Slice<1,Stride> > as_row(){
+               return Matrix<1, Size, Precision, Slice<1,Stride> >(my_data, 1, 
Size, 1, stride(), Slicing());
        }
 
-       const Matrix<Size, 1, Precision, typename Slice<Stride,1>::Base> 
as_col() const{
-               return Matrix<Size, 1, Precision, typename 
Slice<Stride,1>::Base>(const_cast<Precision*>(my_data), Size, 1, stride(), 1, 
Slicing());
+       const Matrix<Size, 1, Precision, Slice<Stride,1> > as_col() const{
+               return Matrix<Size, 1, Precision, Slice<Stride,1> 
>(const_cast<Precision*>(my_data), Size, 1, stride(), 1, Slicing());
        }
 
-       Matrix<Size, 1, Precision, typename Slice<Stride,1>::Base> as_col(){
-               return Matrix<Size, 1, Precision, typename 
Slice<Stride,1>::Base>(my_data, Size, 1, stride(), 1, Slicing());
+       Matrix<Size, 1, Precision, Slice<Stride,1> > as_col(){
+               return Matrix<Size, 1, Precision, Slice<Stride,1> >(my_data, 
Size, 1, stride(), 1, Slicing());
        }
 };
 




reply via email to

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