Re: [eigen] nesting

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


On Fri, Feb 5, 2010 at 10:22 AM, Gael Guennebaud
<gael.guennebaud@xxxxxxxxx> wrote:
> So unless someone see how to solve this latter issue, what Hauke is trying
> to do could work. But instead of specialzing ei_ref_selector for all
> expressions I would suggest a different approach using new bit Flags. The
> rules would be as follow:
> - if the expr has the NestByReference flag, then nest by reference,
> otherwise nest by value
> - by default, only Matrix and Array would have the NestByReference flag
> - the NestByReference flag is not inherited
> - an expression nesting a temporary would have the NestParentByReference
> flag
> - the NestParentByReference flag is not inherited, but if one of the
> children of an expression has the NestParentByReference flag, then the
> current expression will have the NestByReference flag. If we make sure that
> NestParentByReferenceBit == NestByReference>>1, then we simply have to do:
> Flags = ... | ((Lhs::Flags|Rhs::Flags)&NestParentByReference) << 1), or we
> could also use a macro: Flags = ... |
> EIGEN_PROPAGATE_NESTING_BIT(Lhs::Flags|Rhs::Flags).

Just wanted to let you know that in case you decide to do this, I
volunteer to code it.

- Hauke



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