[macstl-dev] Opinions wanted: tied expressions (multi-valued
expressions and manual loop fusion)
Mike LeBlanc
mike at whitehillfarm.com
Tue Dec 6 05:35:52 WST 2005
What I need is a succinct "algebra" of tie transformations.
On Dec 5, 2005, at 1:03 PM, Ilya Lipovsky wrote:
>> 1. Should tie only work at the top level or should we allow ties at
>> the subexpression level? If so, what impact on performance? e.g.
>>
>> tie (e, f) = tie (a * b) + tie (g * h);
>>
>
> What does the above expression represent? I don't understand the right
> side.
>
>> 3. What about dependent expressions e.g.
>>
>> tie (e, f) = tie ((a + b) * d, e * h); // f now depends on e
>>
>
> Excellent case!! And very relevant, too. Yes, this should
> definitely be
> supported. However,
>
> tie (f, g) = tie (g * h, (a + b) * d) //e depends on f, an
> //uninitialized array
>
> Should be left without any further analysis on macstl's part. The
> user is
> responsible for correctly ordering statements inside the tie ()
> functor.
>
>> 5. Do we do automatic or manual tie flattening e.g.
>>
>> should tie (tie (a, b, c), d, e, f) become tie (a, b, c, d, e, f)
>> automatically or some other function do this?
>>
>
> I think that tie (tie (a, b, c), d, e, f) should automatically.
> Become tie
> (a, b, c, d, e, f).
More information about the macstl-dev
mailing list