Boost logo

Boost :

From: k.hagan_at_[hidden]
Date: 2001-04-27 04:22:25


Paul wrote...
> I fear you gurus are forgetting the confusion caused to novice
> users by the requirement to write pi() rather than plain pi.

That may be the case. I don't rate myself as a guru, but I can't
see what all the fuss is about. If write pi() then it works and
if I write pi then I get a syntax error. I can't think of an
arithmetic context where a pointer to a function would quietly
compile.

> (The worse compiler even bombs if you forget the ()!)

I treat compiler crashes as syntax errors. Usually they aren't,
but the "fix" is the same -- change the code.

> Are REALLY sure that just defining long doubles isn't simplest
> and best? Casting down to double or float IS understood, even
> by novices.

Using just a long double constant might require an explicit cast
to avoid provoking a compiler warning. I wouldn't want that. It
also doesn't allow specialisation for other types, like interval
or rational.

I'm losing track of what has and hasn't been suggested. Have we
considered specialising a class template with a static member?

   template<class T> class math
   {
      static T const pi;
   };


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk