[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] TooN/internal mbase.hh vbase.hh vector.hh
From: |
Edward Rosten |
Subject: |
[Toon-members] TooN/internal mbase.hh vbase.hh vector.hh |
Date: |
Fri, 06 Mar 2009 12:19:53 +0000 |
CVSROOT: /cvsroot/toon
Module name: TooN
Changes by: Edward Rosten <edrosten> 09/03/06 12:19:53
Modified files:
internal : mbase.hh vbase.hh vector.hh
Log message:
Fix new VBase: vec_test.cc sompiles and passes all tests.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/internal/mbase.hh?cvsroot=toon&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/TooN/internal/vbase.hh?cvsroot=toon&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/TooN/internal/vector.hh?cvsroot=toon&r1=1.17&r2=1.18
Patches:
Index: mbase.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/mbase.hh,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- mbase.hh 27 Feb 2009 12:46:55 -0000 1.14
+++ mbase.hh 6 Mar 2009 12:19:52 -0000 1.15
@@ -177,7 +177,7 @@
}
- typedef Vector<Cols, Precision, SliceVBase<Cols, 1, Precision> > Vec;
+ typedef Vector<Cols, Precision, SliceVBase<1> > Vec;
Vec operator[](int r) {
Internal::check_index(num_rows(), r);
@@ -283,7 +283,7 @@
return my_data[c*stride() + r];
}
- typedef Vector<Cols, Precision, SliceVBase<Cols, SliceStride,
Precision> > Vec;
+ typedef Vector<Cols, Precision, SliceVBase<SliceStride> > Vec;
Vec operator[](int r) {
Internal::check_index(num_rows(), r);
return Vec(my_data + r, num_cols(), stride(), Slicing());
Index: vbase.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/vbase.hh,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- vbase.hh 4 Mar 2009 14:46:43 -0000 1.14
+++ vbase.hh 6 Mar 2009 12:19:52 -0000 1.15
@@ -40,9 +40,9 @@
struct Layout
: public GenericVBase<Size, Precision, 1, VectorAlloc<Size,
Precision> > {
- VBase(){}
+ Layout(){}
- VBase(int s)
+ Layout(int s)
:GenericVBase<Size, Precision, 1, VectorAlloc<Size,
Precision> >(s)
{}
};
@@ -89,23 +89,23 @@
template<int Start, int Length>
- Vector<Length, Precision, SliceVBase<Length, Stride, Precision> >
slice(){
+ Vector<Length, Precision, SliceVBase<Stride> > slice(){
Internal::CheckStaticSlice<Size, Start, Length>::check(size());
return Vector<Length, Precision, SliceVBase<Stride> >(my_data +
stride()*Start, stride(), Slicing());
}
template<int Start, int Length>
- const Vector<Length, Precision, SliceVBase<Length, Stride, Precision> >
slice() const {
+ const Vector<Length, Precision, SliceVBase<Stride> > slice() const {
Internal::CheckStaticSlice<Size, Start, Length>::check(size());
return Vector<Length, Precision, SliceVBase<Stride>
>(const_cast<Precision*>(my_data + stride()*Start), stride(), Slicing());
}
- Vector<-1, Precision, SliceVBase<-1, Stride, Precision> > slice(int
start, int length){
+ Vector<-1, Precision, SliceVBase<Stride> > slice(int start, int length){
Internal::CheckDynamicSlice::check(size(), start, length);
return Vector<-1, Precision, SliceVBase<Stride> >(my_data +
stride()*start, length, stride(), Slicing());
}
- const Vector<-1, Precision, SliceVBase<-1, Stride, Precision> >
slice(int start, int length) const {
+ const Vector<-1, Precision, SliceVBase<Stride> > slice(int start, int
length) const {
Internal::CheckDynamicSlice::check(size(), start, length);
return Vector<-1, Precision, SliceVBase<Stride>
>(const_cast<Precision*>(my_data + stride()*start), length, stride(),
Slicing());
}
Index: vector.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/vector.hh,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- vector.hh 4 Mar 2009 14:46:43 -0000 1.17
+++ vector.hh 6 Mar 2009 12:19:53 -0000 1.18
@@ -1,15 +1,15 @@
//-*- c++ -*-
template<int Size=-1, typename Precision=double, typename Base=VBase>
-class Vector : public Base::Layout<Size,Precision> {
+class Vector : public Base::template Layout<Size, Precision> {
public:
// sneaky hack: only one of these constructors will work with any given base
// class but they don't generate errors unless the user tries to use one of
them
// although the error message may be less than helpful - maybe this can be
changed?
inline Vector(){}
- inline Vector(Precision* data) : Base::Layout (data) {}
- inline Vector(int size_in) : Base::Layout(size_in) {}
- inline Vector(Precision* data_in, int size_in, int stride_in, Slicing)
: Base::Layout(data_in, size_in, stride_in) {}
- inline Vector(Precision* data_in, int stride_in, Slicing) :
Base::Layout(data_in, stride_in) {}
+ inline Vector(Precision* data) : Base::template Layout<Size, Precision>
(data) {}
+ inline Vector(int size_in) : Base::template Layout<Size,
Precision>(size_in) {}
+ inline Vector(Precision* data_in, int size_in, int stride_in, Slicing)
: Base::template Layout<Size, Precision>(data_in, size_in, stride_in) {}
+ inline Vector(Precision* data_in, int stride_in, Slicing) :
Base::template Layout<Size, Precision>(data_in, stride_in) {}
// constructors to allow return value optimisations
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Toon-members] TooN/internal mbase.hh vbase.hh vector.hh,
Edward Rosten <=