
--- Peder Holt wrote:
Btw.
My initial motivation for developing the compile time double, was to be able to implement an expression library on top of it, supporting differentiation and simple equation solving.
typedef times<sine<_1>,_1> fn; typedef differentiate<fn,_1> dfn; typedef apply<dfn,pi> number;
I haven't been able to implement this without adding a function_tag typedef to all metafunctions. plus -> plus_tag sine -> sine_tag
Interesting. I tried to follow the guidelines for extending MPL lambda support to my trig functions but have yet to test them that way. I'll post the results of my endeavors in a different thread.
In addition, it would be great to have fusion-support inplace, allowing: BOOST_AUTO(fn,sin(_1)*_1); BOOST_AUTO(dfn,diff(fn,_1)); and in turn: double result=dfn(pi()); or typedef BOOST_TYPEOF(dfn) tdfn; typedef apply<tdfn,pi> number;
The fundamental fusion support is something that could be part of the mpl_math library.
Intriguing, but one thing at a time. Cromwell D. Enage __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com