Re: [proto] Transform result_of nightmare and preserving terminal identity
On 31/10/12 21:28, Agustín K-ballo Bergé wrote: Quoting from my original mail, what I want is to replace the following geometric vector expression: p = q + r; by p[0] = q[0] + r[0], p[1] = q[1] + r[1], ..., p[N] = q[N] + r[N], p; It **can** be done with a transform and that's what I did. The optimized proto expression evaluates ~33% faster than the original proto expression. You could also evaluate the expression directly instead of rebuilding a new expression to evaluate. That would probably increase compilation performance. ___ proto mailing list proto@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/proto
Re: [proto] Transform result_of nightmare and preserving terminal identity
On 16/10/2012 03:50 p.m., Agustín K-ballo Bergé wrote: On 16/10/2012 02:22 a.m., Eric Niebler wrote: Hi Agustín, This is just a quick note to let you know that I'm currently at the standard committee meeting in Portland, and that I'll be unable to look until this until I get back next week. Thank you for letting me know. Agustín K-ballo Bergé.- http://fusionfenix.com ___ proto mailing list proto@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/proto For future reference, my issue was resolved at StackOverflow. You can find it here http://stackoverflow.com/questions/13146537/boost-proto-and-complex-transform Preliminar tests for 1 evaluations of a simple expression `p = q + r * 3.f` where p, q and r are geometric vectors of 3 ints give the following promising times: Regular: 1.15s Proto: 1.2s Hand-Unrolled: 0.39s Proto-Unrolled: 0.8s Proto expressions build and optimization times are not taken into account. There is a considerable number of expression copies made by the expression optimization that cannot be avoided by the compiler. I will continue my research by implementing a custom evaluation context that does this optimization 'on the fly', without actually modifying the expression. Agustín K-ballo Bergé.- http://fusionfenix.com ___ proto mailing list proto@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/proto
Re: [proto] Transform result_of nightmare and preserving terminal identity
On 16/10/2012 02:22 a.m., Eric Niebler wrote: Hi Agustín, This is just a quick note to let you know that I'm currently at the standard committee meeting in Portland, and that I'll be unable to look until this until I get back next week. Thank you for letting me know. Agustín K-ballo Bergé.- http://fusionfenix.com ___ proto mailing list proto@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/proto
Re: [proto] Transform result_of nightmare and preserving terminal identity
On 10/13/2012 4:20 PM, Agustín K-ballo Bergé wrote: Hi All, I'm experimenting with Proto to build a DSEL that operates on geometric vectors. I'm trying to write a transform that would take an assign expression and unroll it component wise. For instance, I want to replace Hi Agustín, This is just a quick note to let you know that I'm currently at the standard committee meeting in Portland, and that I'll be unable to look until this until I get back next week. Sorry for the delay. Maybe someone else on this list might be able to help (nudge!). You might also pose this question on stackoverflow.com. -- Eric Niebler BoostPro Computing http://www.boostpro.com ___ proto mailing list proto@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/proto