Predefined Mathematical Constants
=================================
The header `math.h' defines several useful mathematical constants.
All values are defined as preprocessor macros starting with `M_'. The
values provided are:
`M_E'
The base of natural logarithms.
`M_LOG2E'
The logarithm to base `2' of `M_E'.
`M_LOG10E'
The logarithm to base `10' of `M_E'.
`M_LN2'
The natural logarithm of `2'.
`M_LN10'
The natural logarithm of `10'.
`M_PI'
Pi, the ratio of a circle's circumference to its diameter.
`M_PI_2'
Pi divided by two.
`M_PI_4'
Pi divided by four.
`M_1_PI'
The reciprocal of pi (1/pi)
`M_2_PI'
Two times the reciprocal of pi.
`M_2_SQRTPI'
Two times the reciprocal of the square root of pi.
`M_SQRT2'
The square root of two.
`M_SQRT1_2'
The reciprocal of the square root of two (also the square root of
1/2).
These constants come from the Unix98 standard and were also
available in 4.4BSD; therefore they are only defined if `_BSD_SOURCE' or
`_XOPEN_SOURCE=500', or a more general feature select macro, is
defined. The default set of features includes these constants. Note:Feature Test Macros.
All values are of type `double'. As an extension, the GNU C library
also defines these constants with type `long double'. The `long
double' macros have a lowercase `l' appended to their names: `M_El',
`M_PIl', and so forth. These are only available if `_GNU_SOURCE' is
defined.
_Note:_ Some programs use a constant named `PI' which has the same
value as `M_PI'. This constant is not standard; it may have appeared
in some old AT&T headers, and is mentioned in Stroustrup's book on C++.
It infringes on the user's name space, so the GNU C library does not
define it. Fixing programs written to expect it is simple: replace
`PI' with `M_PI' throughout, or put `-DPI=M_PI' on the compiler command
line.