|
Boost : |
From: Cromwell Enage (sponage_at_[hidden])
Date: 2005-09-22 17:42:24
--- 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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk