Boost logo

Boost :

From: Daniel Frey (daniel.frey_at_[hidden])
Date: 2004-01-22 10:28:26

Deane Yang wrote:
> It appears to me that the efforts to replace "pi()" by "pi" are
> both testing the limits of current compilers AND delaying the review
> of the constants library. Why can't we get moving on the constants
> library with a correct C++ interface and, if a simpler interface is
> developed later, modify the library later (with backwards compatibility,
> which should not be a problem)?

The problem with constants is generic programming. Consider:

template< typename T > T area( const T& r ) {
    return pi * r * r;

Now think of different T's, mixed arithmetics, loss of precision, no
conversion from double to T (e.g. boost::rational, Roguewave's
RWDecimal<>, ...). You need a pi in the above example which is truly
generic. *That* is what I'm working on, the syntax pi vs. pi() is just
syntactic sugar (although I strongly prefer pi over pi()). More on that
when I finished the restructuring due to the unit libraries :)

Regards, Daniel

Daniel Frey
aixigo AG - financial solutions & technology
Schloß-Rahe-Straße 15, 52072 Aachen, Germany
fon: +49 (0)241 936737-42, fax: +49 (0)241 936737-99
eMail: daniel.frey_at_[hidden], web:

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