toon-members
[Top][All Lists]
Advanced

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

[Toon-members] TooN/internal mbase.hh


From: Tom Drummond
Subject: [Toon-members] TooN/internal mbase.hh
Date: Sun, 12 Apr 2009 00:07:51 +0000

CVSROOT:        /cvsroot/toon
Module name:    TooN
Changes by:     Tom Drummond <twd20>    09/04/12 00:07:51

Modified files:
        internal       : mbase.hh 

Log message:
        fixed non compiling mat-test by making slice always use the 5 argument 
constructor,
        namely Precsiion* data, int rows, int cols, int rowstride, int colstride
        We should check whether the compiler omits code for unused arguments
        If so we don't need to do anything about this.

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

Patches:
Index: mbase.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/mbase.hh,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- mbase.hh    11 Apr 2009 05:23:16 -0000      1.25
+++ mbase.hh    12 Apr 2009 00:07:51 -0000      1.26
@@ -15,12 +15,6 @@
   
        template<int Rows, int Cols, class Precision> struct Layout: public 
GenericMBase<Rows, Cols, Precision, RowStride, ColStride, MatrixSlice<Rows, 
Cols, Precision> >
        {
-               //Optional constructors.
-//             Layout(Precision* p, int rowstride, int colstride)
-//                     
:GenericMBase<Rows,Cols,Precision,RowStride,ColStride,MatrixSlice<Rows, Cols, 
Precision> >(p, rowstride, colstride, Internal::SpecifyStride())
-//             {
-//             }
-               
                Layout(Precision* p, int rows, int cols, int rowstride, int 
colstride)
                        
:GenericMBase<Rows,Cols,Precision,RowStride,ColStride,MatrixSlice<Rows, Cols, 
Precision> >(p, rows, cols, rowstride, colstride)
                {
@@ -61,16 +55,6 @@
        :Mem(p)
        {}
 
-       //Both size and stride require two integer parameters.
-       //In the case where only one is required, the meaning is 
-       //ambiguous. Therefore a tag is used to specify the meaning.
-//     GenericMBase(Precision* p, int r, int c, Internal::SpecifySize)
-//     :Mem(p, r, c)
-//     {}
-
-//     GenericMBase(Precision* p, int rs, int cs, Internal::SpecifyStride)
-//     :Mem(p),RowStrideHolder<RowStride>(rs),ColStrideHolder<ColStride>(cs) {}
-
 
        GenericMBase(Precision* p, int r, int c, int rowstride, int colstride)
        :Mem(p, r, c),
@@ -88,25 +72,6 @@
                  ColStrideHolder<ColStride>(op)
        {}
 
-       //Unpack slice specifications in to specific constructors
-       //These slice specifications are not allowed to ignore superfluous data.
-//     GenericMBase(Precision* p, const Spec_____& s):Mem(p                    
)                                                                               
                               {}
-//     GenericMBase(Precision* p, const Spec____C& s):Mem(p                    
)                                                        
,ColStrideHolder<ColStride>(s.cs,Internal::NoIgnore()){}
-//     GenericMBase(Precision* p, const Spec___R_& s):Mem(p                    
), RowStrideHolder<RowStride>(s.rs, Internal::NoIgnore())                       
                               {}
-//     GenericMBase(Precision* p, const Spec___RC& s):Mem(p                    
), RowStrideHolder<RowStride>(s.rs, 
Internal::NoIgnore()),ColStrideHolder<ColStride>(s.cs,Internal::NoIgnore()){}
-//     GenericMBase(Precision* p, const Spec__C__& s):Mem(p, s.c 
,SpecifyCols())                                                                 
                                             {}
-//     GenericMBase(Precision* p, const Spec__C_C& s):Mem(p, s.c, 
SpecifyCols())                                                        
,ColStrideHolder<ColStride>(s.cs,Internal::NoIgnore()){}
-//     GenericMBase(Precision* p, const Spec__CR_& s):Mem(p, s.c, 
SpecifyCols()), RowStrideHolder<RowStride>(s.rs, Internal::NoIgnore())          
                                            {}
-//     GenericMBase(Precision* p, const Spec__CRC& s):Mem(p, s.c, 
SpecifyCols()), RowStrideHolder<RowStride>(s.rs, 
Internal::NoIgnore()),ColStrideHolder<ColStride>(s.cs,Internal::NoIgnore()){}
-//     GenericMBase(Precision* p, const Spec_R___& s):Mem(p, s.r, 
SpecifyRows())                                                                  
                                            {}
-//     GenericMBase(Precision* p, const Spec_R__C& s):Mem(p, s.r, 
SpecifyRows())                                                        
,ColStrideHolder<ColStride>(s.cs,Internal::NoIgnore()){}
-//     GenericMBase(Precision* p, const Spec_R_R_& s):Mem(p, s.r, 
SpecifyRows()), RowStrideHolder<RowStride>(s.rs, Internal::NoIgnore())          
                                            {}
-//     GenericMBase(Precision* p, const Spec_R_RC& s):Mem(p, s.r, 
SpecifyRows()), RowStrideHolder<RowStride>(s.rs, 
Internal::NoIgnore()),ColStrideHolder<ColStride>(s.cs,Internal::NoIgnore()){}
-//     GenericMBase(Precision* p, const Spec_RC__& s):Mem(p, s.r, s.c          
)                                                                               
                               {}
-//     GenericMBase(Precision* p, const Spec_RC_C& s):Mem(p, s.r, s.c          
)                                                        
,ColStrideHolder<ColStride>(s.cs,Internal::NoIgnore()){}
-//     GenericMBase(Precision* p, const Spec_RCR_& s):Mem(p, s.r, s.c          
), RowStrideHolder<RowStride>(s.rs, Internal::NoIgnore())                       
                               {}
-//     GenericMBase(Precision* p, const Spec_RCRC& s):Mem(p, s.r, s.c          
), RowStrideHolder<RowStride>(s.rs, 
Internal::NoIgnore()),ColStrideHolder<ColStride>(s.cs,Internal::NoIgnore()){}
-
        using Mem::my_data;
        using Mem::num_cols;
        using Mem::num_rows;
@@ -137,11 +102,11 @@
        template<int Rstart, int Cstart, int Rlength, int Clength>
        Matrix<Rlength, Clength, Precision, 
Slice<SliceRowStride,SliceColStride> > slice()
        {
-               //Always pass the stride as a run-time parameter. It will be 
ignored
+               //Always pass the size and 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, 
Slice<SliceRowStride,SliceColStride> >(my_data+rowstride()*Rstart + 
colstride()*Cstart, rowstride(), colstride(), Slicing());
+               return Matrix<Rlength, Clength, Precision, 
Slice<SliceRowStride,SliceColStride> >(my_data+rowstride()*Rstart + 
colstride()*Cstart, Rlength, Clength, rowstride(), colstride(), Slicing());
        }
 
        template<int Rstart, int Cstart, int Rlength, int Clength>
@@ -149,7 +114,7 @@
        {
                Internal::CheckStaticSlice<Rows, Rstart, 
Rlength>::check(num_rows());
                Internal::CheckStaticSlice<Cols, Cstart, 
Clength>::check(num_cols());
-               return Matrix<Rlength, Clength, Precision, 
Slice<SliceRowStride,SliceColStride> 
>(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), 
Rlength, Clength, rowstride(), colstride(), Slicing());
        }
 
        Matrix<-1, -1, Precision, Slice<SliceRowStride,SliceColStride> > 
slice(int rs, int cs, int rl, int cl){




reply via email to

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