Re: [eigen] Qt's container support

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


On Tue, Jan 20, 2009 at 12:46 PM, Alex Stapleton
<alex.stapleton@xxxxxxxxxxxxx> wrote:
> 2009/1/20 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
>> Hi all,
>>
>> I think that being able to store Eigen's matrices in Qt's containers
>> is very important (especially QVector<>), and just like std::vector,
>> there are a couple of issues:
>
>> Issue 2:
>> the second problem is to enforce QVector to allocate aligned memory
>> buffers. Fortunately, Qt's developers had the good idea to define
>> wrapper functions around malloc/free/realloc called qMalloc, qFree
>> etc.
>> So the workaround is simply to redefine these functions to call
>> ei_align_malloc. I added a Eigen/QtAlignedMalloc header which exactly
>> does that (I'll commit it once the next issue will be solved).
>> => PROBLEM SOLVED
>
> I am not a Qt person in general so please correct me if I am wrong but
> wont this will result in *all* QVectors using aligned allocation?

yes you are right, but I think that's harmless, several platforms
already have an aligned malloc anyway...

another possibility: since Qt is going to be LGPL, we can pick QVector
implementation code to make a complete specialization of
QVector<Eigen::Matrix>, and then we can elegantly fix all the three
issues right away (and perhaps more, I have not checked all methods
!). The obvious drawback is code duplication and so we'd have to watch
the patches made to qvector.h which are very unlikely to happen
anyway, so why not ?



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/