Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2001-10-30 20:39:23


At 08:54 AM 10/30/2001, Ed Brey wrote:

>I'd like to take a stab at formalizing rules that would govern which
>constants do and do not get included into the math constants library. It
is
>clear that something more than "commonly used" is called for here, since
>that criterion varies significantly from domain to domain and person to
>person. An arbitrary set of requirements will provide less enhancement
>dollar per learning-curve millivolt than one that fits a good set of
>requirements.
>
>A general goal is to separate truly global constants from "pet"
constants,
>that is constants that a few find really handy, but don't add much value
>because they are very obscure or are redundant with existing
capabilities.
>Pet constants are better kept in a private constant stash close to the
pet
>owner.
>
>So here's the criteria that I'd like to consider:
>
>A constant should be included if and only if:
>(1) It is generally useful in the field of mathematics, and
>(2) It cannot be derived mathematically from an expression involving only

>+,-,*,/ on a finite number of exact literals and other math library
>constants, or
>(3) Derivation as in (2) leads to inaccuracy greater than epsilon.

For what it's worth, having a clear rationale (like the above) for why
something is or isn't included in a library is one of the things that
members of the standards committee like to see.

Remember also that it is possible to add constants later, but once a
constant goes in it becomes very hard to remove (at least from the
standard). It would be much better to have a small number of constants
meeting clear criteria rather than a large number of constants with only
vague justification.

--Beman


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