
Boost : 
From: Matthew Austern (austern_at_[hidden])
Date: 20010517 13:15:19
Fernando Cacciola wrote:
> > But we don't have completeness. We never can.
> >
> > You've got sqrt(2), but not, if I'm remembering right,
> > sqrt(3) or sqrt(5). You've got pi and e, but not, if
> > I'm remembering right, Euler's constant (a.k.a. gamma).
> > You don't have the zeros of the Bessel functions. And
> > once you start including derived quantities, there's
> > no end to it: do you include pi/2, pi/3, 2*pi, 4*pi,
> > a/pi, pi^2...? How about e^2 (a.k.a. exp(2)), or ln(2),
> > or ln(10)? All of those are useful.
> >
> > Please note: I'm not criticizing you for providing an
> > incomplete selection of constants. You have to draw
> > a line somewhere, and I don't know of any nonarbitrary
> > way to draw one.
> >
> I addressed this before.
> If constants are provided in a namespace not in a struct, there's really
> no line at all becuase constants
> can be added freely without clutering the interface:
There's a line because, no matter who the maintainer is,
the time and knowledge of the maintainer is limited. Also
because of practical problems like the length of the
header file and the documentation, and the problem of
coming up with useful ASCII names for each constant.
I named a handful of transcendental constants that I've
had occassion to use, and a few irrational numbers and
derived quantities. I'm sure someone else would have come
up with a different handful. I'm not seriously suggesting
that all of the different numbers that anyone could come
up with should be included in a constants header; I don't
think that users would be well served by a header with
thousands of numbers.
Matt
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk