From: Cromwell Enage (sponage_at_[hidden])
Date: 2006-01-11 22:39:19
--- Andy Little wrote:
> Hi Cromwell,
Happy new year, Andy.
> I am concerned that "rational.hpp" depends on
> mpl::big_integral and mpl::double as well as some of
> operations, which are huge anounts of header
> It is simple to solve this by removing the
> big_integral and double, from rational.hpp. I am
sure they can
> be put in the numeric stuff for these types.
I've added <boost/mpl/math/rational_/rational.hpp>,
which contains the minimal amount you need to use only
boost::mpl::integral_c et. al. and
<boost/mpl/math/rational.hpp> header is reserved for
those who need the kitchen sink.
> As far as my other problems are concerned it appears
> gcd header is the culprit in producing a template
too long for
> VC7.1 to hold in its debug database.
*sigh* I *hate* it when compile-time complexity
differs from run-time complexity.
> Anyway changing the gcd algorithm to a recursive one
> wrapping boost::math::static_gcd (attached) in
> "boost/math/commn_factor.hpp" cures the above
> compiler running out of keys and similar issues for
I've reimplemented the integral_c_tag specialization
of boost::mpl::math::gcd so that it's wrapped around
an MPL-ized version of boost::math::static_gcd.
Performance should be close to what you're looking
> As previously mentioned I also reckon that it would
be best to
> make typeof registration separate.
I thought you said "optional". Anyway, typeof
registration is now disabled by default; you must now
define the macro BOOST_MPL_CFG_REGISTER_WITH_TYPEOF to
Cromwell D. Enage
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk