You can subscribe to this list here.
2001 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}
(4) 
_{Dec}
(6) 

2002 
_{Jan}
(68) 
_{Feb}
(72) 
_{Mar}
(46) 
_{Apr}
(44) 
_{May}
(40) 
_{Jun}
(54) 
_{Jul}
(26) 
_{Aug}
(86) 
_{Sep}
(95) 
_{Oct}
(151) 
_{Nov}
(65) 
_{Dec}
(34) 
2003 
_{Jan}
(22) 
_{Feb}
(70) 
_{Mar}
(24) 
_{Apr}
(28) 
_{May}
(50) 
_{Jun}
(31) 
_{Jul}
(17) 
_{Aug}
(42) 
_{Sep}
(27) 
_{Oct}
(71) 
_{Nov}
(27) 
_{Dec}
(71) 
2004 
_{Jan}
(40) 
_{Feb}
(30) 
_{Mar}
(20) 
_{Apr}
(22) 
_{May}
(41) 
_{Jun}
(9) 
_{Jul}
(24) 
_{Aug}
(41) 
_{Sep}
(35) 
_{Oct}
(8) 
_{Nov}
(5) 
_{Dec}
(4) 
2005 
_{Jan}
(27) 
_{Feb}
(13) 
_{Mar}
(18) 
_{Apr}
(7) 
_{May}
(10) 
_{Jun}
(36) 
_{Jul}
(28) 
_{Aug}
(17) 
_{Sep}
(1) 
_{Oct}
(11) 
_{Nov}
(12) 
_{Dec}
(15) 
2006 
_{Jan}
(99) 
_{Feb}
(5) 
_{Mar}
(31) 
_{Apr}
(26) 
_{May}
(20) 
_{Jun}
(33) 
_{Jul}
(45) 
_{Aug}
(18) 
_{Sep}
(2) 
_{Oct}
(19) 
_{Nov}
(3) 
_{Dec}
(8) 
2007 
_{Jan}
(1) 
_{Feb}
(15) 
_{Mar}
(20) 
_{Apr}

_{May}
(4) 
_{Jun}
(6) 
_{Jul}
(11) 
_{Aug}
(11) 
_{Sep}
(11) 
_{Oct}
(19) 
_{Nov}
(25) 
_{Dec}
(46) 
2008 
_{Jan}
(42) 
_{Feb}
(20) 
_{Mar}
(43) 
_{Apr}
(24) 
_{May}
(4) 
_{Jun}

_{Jul}
(19) 
_{Aug}
(63) 
_{Sep}
(33) 
_{Oct}
(17) 
_{Nov}
(36) 
_{Dec}
(20) 
2009 
_{Jan}
(36) 
_{Feb}
(18) 
_{Mar}
(144) 
_{Apr}
(36) 
_{May}
(11) 
_{Jun}
(7) 
_{Jul}
(8) 
_{Aug}
(21) 
_{Sep}
(33) 
_{Oct}
(7) 
_{Nov}
(2) 
_{Dec}
(1) 
2010 
_{Jan}
(33) 
_{Feb}
(3) 
_{Mar}
(34) 
_{Apr}
(2) 
_{May}
(1) 
_{Jun}
(2) 
_{Jul}
(3) 
_{Aug}
(28) 
_{Sep}
(8) 
_{Oct}
(12) 
_{Nov}
(11) 
_{Dec}
(44) 
2011 
_{Jan}
(30) 
_{Feb}
(10) 
_{Mar}
(8) 
_{Apr}
(23) 
_{May}
(8) 
_{Jun}
(9) 
_{Jul}
(3) 
_{Aug}
(9) 
_{Sep}
(5) 
_{Oct}
(9) 
_{Nov}
(11) 
_{Dec}
(24) 
2012 
_{Jan}
(6) 
_{Feb}
(32) 
_{Mar}
(8) 
_{Apr}
(26) 
_{May}
(13) 
_{Jun}
(51) 
_{Jul}
(21) 
_{Aug}
(7) 
_{Sep}
(9) 
_{Oct}
(13) 
_{Nov}
(5) 
_{Dec}
(10) 
2013 
_{Jan}
(56) 
_{Feb}
(6) 
_{Mar}
(15) 
_{Apr}
(4) 
_{May}
(24) 
_{Jun}
(4) 
_{Jul}
(9) 
_{Aug}

_{Sep}

_{Oct}
(2) 
_{Nov}
(1) 
_{Dec}
(8) 
2014 
_{Jan}
(7) 
_{Feb}

_{Mar}

_{Apr}

_{May}
(12) 
_{Jun}
(3) 
_{Jul}
(7) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}
(19) 
2015 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}
(1) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 

1

2
(7) 
3
(10) 
4
(1) 
5
(2) 
6
(1) 
7

8

9
(1) 
10

11

12

13

14

15

16
(4) 
17

18
(2) 
19
(2) 
20

21

22

23

24

25
(1) 
26

27

28

29

30






From: Peter Vanroose <Peter.V<anroose@es...>  20030618 07:19:48

> ... Intuitively, it will benefit computation > of large matrices and large vectors ... As far as large vectors/matrices are concerned, there is already an interface for this: the classes vnl_matrix_ref and vnl_vector_ref. vnl_vector_fixed_ref is mainly useful for small size vectors, up to size 6 say, since it has to be instantiated for all sizes being used.  Peter. 
From: Gehua Yang <yangg2@cs...>  20030618 03:35:28

I like the idea of *fancier scheme*. To me, it is quite like the way how vil_image_view<T> is implemented. Intuitively, it will benefit computation of large matrices and large vectors (and small ones in terms of memory allocation), even though I haven't encountered this kind of situation on my research. It will be nice to have it in VXL. By the way, I did not get this one: "#undef vcl_abs #define vcl_abs vcl_abs". What's the trick behind this? As far as I remember about the header files for VC 7, we only define the functions, without any macros. Regards, Gehua Yang  Original Message  From: "Paul Smyth" <paul.smyth@...> To: "Vxlmaintainers (Email)" <vxlmaintainers@...> Sent: Monday, June 16, 2003 10:43 AM Subject: [Vxlmaintainers] vector + matrix fixed reference classes > Hi folks again, please excuse the verbosity. > > I'm proposing some changes to vnl_vector_fixed_ref and vnl_matrix_fixed_ref > to make them more efficient and flexible. > > History >  > I had a number of functions which interpreted blocks of memory as fixedsize > vectors or matrices, and passed them to other functions which operated on > the fixedsize vector/matrix references. > > e.g. > void AngleAxisToRotationMatrix(const vnl_vector_fixed_ref<double,3> & > AngleAxis, vnl_matrix_fixed<double,3,3> & RotationMatrix); > > double MyObjectiveFunction(const vnl_vector<double> & Params) { > vnl_matrix_fixed<double,3,3> R; > // I know that params 3,4,5 are rotation > vnl_vector_fixed_ref<double,3> ref(const_cast<double*>& Params[3]); // > interpret elems 3,4,5 of Params as a rotation > AngleAxisToRotationMatrix(ref, R); // fill out rotation matrix from > angleaxis parameterisation > } > > As (until about 1 year ago) vector_fixed was derived from vector_fixed_ref, > the above function could be used with _either_ > vnl_vector_fixed_ref or vnl_vector_fixed as 1st argument. This could also be > rather slow for matrices, as a set of unnecessary row pointers were > calculated whenever the ref was constructed. > > e.g. > void SimpleUsage() { > vnl_matrix_fixed<double,3,3> R; > vnl_vector_fixed<double,3> rot; > AngleAxisToRotationMatrix(rot, R); > } > > Then vector_fixed was (very sensibly) broken away from the rest of the > heirarchy, which meant my code no longer compiled. > > Problem >  > I would like a number of algorithms that use fixedsize vectors/matrices to > work with either referencestomemory or with > 'true' vector/matrix_fixed. > > Proposal >  > 1) Make standalone fixed_ref classes which don't drag in the rest of the > vector/matrix heirarchy, as at present, and only contain a pointer, and can > therefore be copied efficiently. So these are smart pointers, with > compiletime size info. > 2) Wherever fixed_ref classes to be used, pass them by value (or if > necessary const reference), so that conversions from true vector_fixed can > be applied. > 3) Make separate fixed_ref and fixed_ref_const classes which preserve > constness properly in the type. > > > Note that vec_fixed_ref can only be constructed from (vec_fixed &), and > vec_fixed_ref_const can be constructed from (vec_fixed const &). > > template <typename T, unsigned n> > class vnl_vector_fixed_ref_const > { > const T* data_; > public: > vnl_vector_fixed_ref_const(vnl_vector_fixed<T,n> const & rhs); > explicit vnl_vector_fixed_ref_const(const T * dataptr); > ... > }; > > template <typename T, unsigned n> > class vnl_vector_fixed_ref > { > T* data_; > public: > explicit vnl_vector_fixed_ref(T * dataptr); > vnl_vector_fixed_ref( vnl_vector_fixed<T,n> & rhs); > ... > }; > > New Usage: > void AngleAxisToRotationMatrix(vnl_vector_fixed_ref_const<double,3> > AngleAxis, vnl_matrix_fixed<double,3,3> & RotationMatrix); > > double MyObjectiveFunction(const vnl_vector<double> & Params) > { > vnl_matrix_fixed<double,3,3> R; > // I know that params 3,4,5 are rotation > vnl_vector_fixed_ref_const<double,3> ref(&Params[3]); // interpret elems > 3,4,5 of Params as a rotation  no const_cast > AngleAxisToRotationMatrix(ref, R); // fill out rotation matrix from > angleaxis parameterisation > } > > SimpleUsage() compiles unchanged. > > Comments: >  >  I'd like to get something that enables me to interchange between > *fixed_ref and *fixed committed, as current vxl doesn't support a whole > batch of my code, and I want to get in sync. The above scheme works > reasonably, and has been implemented. > >  Noone else (that I know of) except me uses *fixed_ref, so there is no code > that will be broken. > >  A grander scheme would be possible for *_fixed_ref encoding more > information (element,row,column stride) into the type > which might aid fixedsize algorithms (see Addendum). I have a number of > fast fixedsize routines operating this way that might be suitable for > inclusion in vxl if this more elaborate scheme were used. But I could > imagine its about 3 bridges too far. > > Paul. > > > > Addendum >  > > A fancier scheme might take the form of: > > template <typename T, unsigned n, int element_stride> > class vnl_vector_fixed_ref; > > template <typename T, unsigned n, int row_stride, int col_stride> > class vnl_matrix_fixed_ref; > > which would enable references to be taken to noncontiguous memory. > e.g. > > template <typename T, unsigned rows, unsigned cols> > vnl_vector_fixed_ref<T,cols,1> > vnl_matrix_fixed<T,rows,cols>::row_reference(unsigned col_index); > // take reference to contiguous block of memory for a row > > template <typename T, unsigned rows, unsigned cols> > vnl_vector_fixed_ref<T,rows,cols> > vnl_matrix_fixed<T,rows,cols>::col_reference(unsigned col_index); > // take reference to 'spliced' memory for a column > > template <typename T, unsigned rows, unsigned cols> > vnl_matrix_fixed_ref<T,cols,rows,cols,1> > vnl_matrix_fixed<T,rows,cols>::transpose_reference(); > // view fixed matrix as its transpose > > This would enable a function like: > > template <typename T, unsigned r, unsigned c, int r_s, int c_s, int el_s1, > int el_s2> > void mat_vec_mult(matrix_fixed_ref_const<T,r,c,r_s,c_s> A, > vector_fixed_ref_const<T,c,el_s1> x, vector_fixed_ref<T,c,el_s2> y) > // perform y = A x: could be used to perform mulitplication of matrix > transposed as well > etc. etc. > > > This email, and any attachment, is confidential. If you have received it in > error, please delete it from your system, do not use or disclose the > information in any way, and notify me immediately. > > >  > This SF.NET email is sponsored by: eBay > Great deals on office technology  on eBay now! Click here: > http://adfarm.mediaplex.com/ad/ck/7111169769165 > _______________________________________________ > Vxlmaintainers mailing list > Vxlmaintainers@... > https://lists.sourceforge.net/lists/listinfo/vxlmaintainers > 