[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] TooN TODO TooN.h internal/vbase.hh test/test3.cc
From: |
Edward Rosten |
Subject: |
[Toon-members] TooN TODO TooN.h internal/vbase.hh test/test3.cc |
Date: |
Wed, 18 Feb 2009 20:29:11 +0000 |
CVSROOT: /cvsroot/toon
Module name: TooN
Changes by: Edward Rosten <edrosten> 09/02/18 20:29:11
Modified files:
. : TODO TooN.h
internal : vbase.hh
test : test3.cc
Log message:
.as_row() and .as_col()
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/TODO?cvsroot=toon&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/TooN/TooN.h?cvsroot=toon&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/TooN/internal/vbase.hh?cvsroot=toon&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/TooN/test/test3.cc?cvsroot=toon&r1=1.3&r2=1.4
Patches:
Index: TODO
===================================================================
RCS file: /cvsroot/toon/TooN/TODO,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- TODO 18 Feb 2009 20:02:38 -0000 1.8
+++ TODO 18 Feb 2009 20:29:10 -0000 1.9
@@ -1,5 +1,5 @@
-.as_row() and .as_col() for vectors
BLAS
helpers.h
fix up decompositions.
iterators
+half-dynamic Matrices (most (all??) of the work is in allocator.hh)
Index: TooN.h
===================================================================
RCS file: /cvsroot/toon/TooN/TooN.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- TooN.h 17 Feb 2009 17:11:07 -0000 1.21
+++ TooN.h 18 Feb 2009 20:29:10 -0000 1.22
@@ -25,6 +25,10 @@
#endif
+ template<int Stride> struct Slice;
+ template<int Size, class Precision, class Base> struct Vector;
+ template<int Rows, int Cols, class Precision, class Base> struct Matrix;
+
#include <TooN/internal/allocator.hh>
#include <TooN/internal/size_mismatch.hh>
Index: internal/vbase.hh
===================================================================
RCS file: /cvsroot/toon/TooN/internal/vbase.hh,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- internal/vbase.hh 11 Feb 2009 18:04:25 -0000 1.11
+++ internal/vbase.hh 18 Feb 2009 20:29:10 -0000 1.12
@@ -99,4 +99,20 @@
Internal::CheckDynamicSlice::check(size(), start, length);
return Vector<-1, Precision, SliceVBase<-1, Stride, Precision>
>(const_cast<Precision*>(my_data + stride()*start), length, stride(),
Slicing());
}
+
+ const Matrix<(Size==-1?-1:1), Size, Precision, typename
Slice<Stride>::ColMajor> as_row() const{
+ return Matrix<(Size==-1?-1:1), Size, Precision, typename
Slice<Stride>::ColMajor>(const_cast<Precision*>(my_data), 1, Size, stride(),
Slicing());
+ }
+
+ Matrix<(Size==-1?-1:1), Size, Precision, typename
Slice<Stride>::ColMajor> as_row(){
+ return Matrix<(Size==-1?-1:1), Size, Precision, typename
Slice<Stride>::ColMajor>(my_data, 1, Size, stride(), Slicing());
+ }
+
+ const Matrix<Size, (Size==-1?-1:1), Precision, typename
Slice<Stride>::RowMajor> as_col() const{
+ return Matrix<Size, (Size==-1?-1:1), Precision, typename
Slice<Stride>::RowMajor>(const_cast<Precision*>(my_data), Size, 1, stride(),
Slicing());
+ }
+
+ Matrix<Size, (Size==-1?-1:1), Precision, typename
Slice<Stride>::RowMajor> as_col(){
+ return Matrix<Size, (Size==-1?-1:1), Precision, typename
Slice<Stride>::RowMajor>(my_data, Size, 1, stride(), Slicing());
+ }
};
Index: test/test3.cc
===================================================================
RCS file: /cvsroot/toon/TooN/test/test3.cc,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- test/test3.cc 18 Feb 2009 20:02:39 -0000 1.3
+++ test/test3.cc 18 Feb 2009 20:29:10 -0000 1.4
@@ -40,5 +40,8 @@
cout << m3<<endl;
cout << m4<<endl;
cout << m3*m4;
+
+
+ cout << makeVector(1,2).as_col() * makeVector(3,4).as_row() << endl;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Toon-members] TooN TODO TooN.h internal/vbase.hh test/test3.cc,
Edward Rosten <=