[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] TooN/internal vector.hh
From: |
Edward Rosten |
Subject: |
[Toon-members] TooN/internal vector.hh |
Date: |
Fri, 09 Jan 2009 15:40:22 +0000 |
CVSROOT: /cvsroot/toon
Module name: TooN
Changes by: Edward Rosten <edrosten> 09/01/09 15:40:22
Modified files:
internal : vector.hh
Log message:
Added slices to SVBase
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/internal/vector.hh?cvsroot=toon&r1=1.5&r2=1.6
Patches:
Index: vector.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/vector.hh,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- vector.hh 9 Jan 2009 15:29:23 -0000 1.5
+++ vector.hh 9 Jan 2009 15:40:22 -0000 1.6
@@ -170,9 +170,13 @@
template <int Start, int Length>
Vector<Length, Precision, SVBase<Length,Stride,Precision> >
slice(){
+ Internal::CheckSlice<Size, Start, Length>::check();
return Vector<Length, Precision, SVBase<Length,1,Precision>
>(&(my_data[Start*Stride]));
}
+ Vector<-1, Precision, SDVBase<Stride, Precision> >
+ slice(int start, int length);
+
private:
Precision* const my_data;
};
@@ -415,3 +419,9 @@
Internal::CheckSlice<>::check(Size, start, length);
return Vector<-1, Precision, SDVBase<1, Precision> >(my_data + start,
length);
}
+
+template<int Size, int Stride, typename Precision>
+Vector<-1, Precision, SDVBase<Stride, Precision> > SVBase<Size, Stride,
Precision>:: slice(int start, int length){
+ Internal::CheckSlice<>::check(Size, start, length);
+ return Vector<-1, Precision, SDVBase<Stride, Precision> >(my_data + start,
length);
+}