[Top][All Lists]
[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){
- [Toon-members] TooN/internal mbase.hh,
Tom Drummond <=