toon-members
[Top][All Lists]
Advanced

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

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


From: Tom Drummond
Subject: [Toon-members] TooN/internal vbase.hh vector.hh
Date: Mon, 30 Mar 2009 18:21:41 +0000

CVSROOT:        /cvsroot/toon
Module name:    TooN
Changes by:     Tom Drummond <twd20>    09/03/30 18:21:41

Modified files:
        internal       : vbase.hh vector.hh 

Log message:
        Removed the (Precision*, int stride, Slicing()) constructor from Vector
        Now (Precision*, int size, int stride, Slicing()) is used everywhere
        size is ignored where necessary (as is stride).

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

Patches:
Index: vbase.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/vbase.hh,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- vbase.hh    6 Mar 2009 16:52:52 -0000       1.19
+++ vbase.hh    30 Mar 2009 18:21:39 -0000      1.20
@@ -65,10 +65,6 @@
        :Mem(s)
        {}
 
-       GenericVBase(Precision* d, int stride)
-       :Mem(d),StrideHolder<Stride>(stride){
-       }
-
        GenericVBase(Precision* d, int length, int stride)
        :Mem(d, length),StrideHolder<Stride>(stride){
        }
@@ -90,13 +86,13 @@
        template<int Start, int Length> 
        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());
+               return Vector<Length, Precision, SliceVBase<Stride> >(my_data + 
stride()*Start, Length, stride(), Slicing());
        }
 
        template<int Start, int Length> 
        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());
+               return Vector<Length, Precision, SliceVBase<Stride> 
>(const_cast<Precision*>(my_data + stride()*Start), Length, stride(), 
Slicing());
        }
 
        Vector<-1, Precision, SliceVBase<Stride> > slice(int start, int length){

Index: vector.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/vector.hh,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- vector.hh   27 Mar 2009 15:42:46 -0000      1.27
+++ vector.hh   30 Mar 2009 18:21:40 -0000      1.28
@@ -9,14 +9,15 @@
        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, 
Internal::Slicing) : Base::template Layout<Size, Precision>(data_in, size_in, 
stride_in) {}
-       inline Vector(Precision* data_in, int stride_in, Internal::Slicing) : 
Base::template Layout<Size, Precision>(data_in, stride_in) {}
+       // inline Vector(Precision* data_in, int stride_in, Internal::Slicing) 
: Base::template Layout<Size, Precision>(data_in, stride_in) {}
        
        using Base::template Layout<Size, Precision>::size;
 
        // constructors to allow return value optimisations
        // construction from 0-ary operator
        template <class Op>
-       inline Vector(const Operator<Op>&){
+       inline Vector(const Operator<Op>& op)
+               : Base::template Layout<Size, Precision>(op.data(),op.size(), 
op.stride()) {
                Op::eval(*this);
        }
 




reply via email to

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