Re: [eigen] Re: [PATCH] Reverse expression (trying again)

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


for the record:

- I added the vectorization of reverse and did the simplification at
the same time.
- the vectorized version of reverse is twice faster for float and x1.5
for double

gael.

On Fri, Feb 6, 2009 at 12:45 PM, Gael Guennebaud
<gael.guennebaud@xxxxxxxxx> wrote:
> On Fri, Feb 6, 2009 at 10:23 AM, Ricard Marxer Piñón
> <email@xxxxxxxxxxxxxxxx> wrote:
>>> Since the Reverse expression cannot have the LinearAccessBit flags,
>>> the index based coeff*(int) functions will be called on vector
>>> expressions only, and so they can be significantly simplified.
>>
>> I'll look into simplifying them this evening, taking into account that they
>> will only be used in matrices.
>> The LinearAccessBit will never be set for Reverse because the obviously the
>> coeff*(int) are not linear, right?  Or maybe it should only be set when
>> Direction == BothDirections?  And for that case it is interesting to have
>> the coeff*(int) of BothDirections that we have now, no?
>
> ah, sorry your are right. if Direction == BothDirections then we
> should enable the LinearAccessBit as well.
>
>
>> ricard
>>
>>>
>>> gael
>>>
>>> On Thu, Feb 5, 2009 at 8:48 PM, Ricard Marxer Piñón
>>> <email@xxxxxxxxxxxxxxxx> wrote:
>>> > Ok here is part 2.
>>> >
>>> > I tried to tackle the index based coeff, coeffRef, packet and
>>> > writePacket.
>>> >
>>> > I'm not sure it is right, please review it.
>>> >
>>> > I have also made a small change to the doc snippet of PartialRedux.
>>> >
>>> > Let me know if I'm on the right track.
>>> >
>>> > ricard
>>> >
>>> > On Thu, Feb 5, 2009 at 3:35 PM, Ricard Marxer Piñón
>>> > <email@xxxxxxxxxxxxxxxx>
>>> > wrote:
>>> >>
>>> >> Hi again,
>>> >>
>>> >> This time I think I've got it right.  Or at least righter.
>>> >>
>>> >> I have added tests and as Gael suggested I have added a template
>>> >> parameter
>>> >> to Reverse so that PartialRedux returns an expression (however I still
>>> >> don't
>>> >> know if I've got that part right).
>>> >>
>>> >> In the tests there is one commented part, which I would like to pass in
>>> >> the future but I think it is a bit more complicated.
>>> >>
>>> >> The patch as been generated using git:
>>> >> git format-patch git-svn
>>> >>
>>> >> So to apply to svn it you will need to do (I think):
>>> >> patch -p1 -i 0001-adding-Reverse.patch
>>> >>
>>> >> The coeff(int index) and coeffRef(int index) are still not handled
>>> >> (reversed).  That will come in the next patch.
>>> >>
>>> >> Ricard
>>> >>
>>> >> --
>>> >> ricard
>>> >> http://www.ricardmarxer.com
>>> >> http://www.caligraft.com
>>> >
>>> >
>>> >
>>> > --
>>> > ricard
>>> > http://www.ricardmarxer.com
>>> > http://www.caligraft.com
>>> >
>>>
>>>
>>
>>
>>
>> --
>> ricard
>> http://www.ricardmarxer.com
>> http://www.caligraft.com
>>
>



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