[eigen] Re: Eigen 2 design |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
On Thursday 26 April 2007 00:13:42 Schleimer, Ben wrote: > Sounds great. Are you going to have different sized matrices/vectors > (2,3,4) or use expression templates and have just one matrix and one vector > class. Check out the TinyVector class if you're going for the second > option. If might help you... My plan for eigen-basic was to do something like template<typename T, int height, int width> class Matrix; and then have typedefs like typedef Matrix<double, 4, 4> Matrix4d; I hadn't considered expression templates because they scared me (both from the programmer's and the compiler's point of view) but since you mention TinyVector I'll have a look at it and might change my mind. It's true that in eigen-basic, expression templates are the only way to achieve fast arithmetic operators, since copy-on-write is not an option there (there must be no dynamic memory allocation in eigen-basic). Without expression templates, we'd have to do as in Eigen1, namely make it clear in the documentation that the arithmetic operators are slow and provide alternative C-style methods doing the same thing faster (like multiply() vs. operator*). > > Eigen-gmm can't reuse GMM by inheritance, if only because we want to > > implement copy-on-write. > > Perhapse, the eigen-gmm matrix needs to have-a gmm matrix and internal > copy-on-write checking... I have yet to look at how copy-on-write is implemented, but yes, I was thinking that the gmm matrix would be a member data of the eigen-gmm matrix. (Here take the words "member data" in a loose sense -- I guess a d-pointer-like mechanism is needed for copy-on-write). > > > Thus there's a lot of work to do here, and help is welcome :) > > Ask and we will come if there is time. Which there is too little of right > now. :( Busy with KOffice? Go on then and good luck :) Cheers, Benoit
Attachment:
pgp0JfVyk23p6.pgp
Description: PGP signature
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |