Boost logo

Boost :

From: rwgk_at_[hidden]
Date: 2001-04-18 17:00:20

--- In boost_at_y..., "David Abrahams" <abrahams_at_m...> wrote:
> The formal review of Paul Bristow's math constants library begins
today and
> runs through Wed April 25th. Please have a look and post your
comments to
> this list.
> Regards,
> Dave Abrahams
> Review Manager

I have not been following the Math Constants thread in this forum.
Here is what came to my mind after browsing through the html

- What are the reasons for including support for C in Boost?

- The heavy use of macros seems very unfortunate.
  Especially, something like BOOST_UNITY looks like pretty bad
  namespace pollution to me.

- Naively I was expecting something like:

  namespace boost {
    namespace math {
      namespace F {
        const float pi = 3.14159265358979323846264338327950288F;
      namespace D {
        const double pi = 3.14159265358979323846264338327950288;
      namespace L {
        const long double pi = 3.14159265358979323846264338327950288L;
      template <typename T> // just for the idea, details might need
      pi(const T&) { return boost::math::L::pi; }


  int main(void)
    using boost::math::F::pi;
    //... code that uses pi (more than once)

  template <typename T>
  circumference(T radius)
    return 2 * boost::math::pi(static_cast<T>(0)) * radius;

- The header file math_constants.h seems to be generated by
  a the defineConstants.cpp program. Wouldn't it be possible to make
  the program also generate a real C++ header that does not contain
  any macros?


Boost list run by bdawes at, gregod at, cpdaniel at, john at