|
Boost : |
From: Peder Holt (peder.holt_at_[hidden])
Date: 2005-09-21 01:58:49
On 9/20/05, Cromwell Enage <sponage_at_[hidden]> wrote:
> Scattered throughout the metamath library are template
> specializations of numeric metafunction classes like
> the following:
>
> template <>
> struct times_impl<
> integral_c_tag
> , metamath::double_c_tag
> >
> {
> ...
> }
>
> The purpose of mpl::numeric_cast<> (or
> BOOST_MPL_AUX_NUMERIC_CAST) is to render such
I didn't know about that. Thanks.
> specializations unnecessary. I understand that if
> template instantiation overhead is a problem then the
> current situation is okay, but if we start
> implementing more numeric metatypes such as
> metamath::float_ and/or metamath::long_double_, then
> the net increase in code size will become an issue.
>
> Also included in the last update of my math sublibrary
> are files from the metamath library that I modified to
> make use of BOOST_MPL_AUX_NUMERIC_CAST:
> * In <boost/metamath/double/double.hpp> I modified
> double_c_tag so that it inherits from
> boost::mpl::int_<8> (an arbitrary constant higher than
> zero).
> * In <boost/metamath/double/integral_to_double.hpp> I
> added a template specialization of
> BOOST_MPL_AUX_NUMERIC_CAST that uses
> integral_to_double<>.
> * In the other files I deleted the redundant
> specializations.
>
> Let me know what you think.
Definitely an improvement.
Perhaps it would be a good idea to move the entire metamath/double
implementation to the mpl/math directory?
Regards,
Peder
>
> Cromwell D. Enage
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk