Mathematics
***********
This chapter contains information about functions for performing
mathematical computations, such as trigonometric functions. Most of
these functions have prototypes declared in the header file `math.h'.
The complex-valued functions are defined in `complex.h'.
All mathematical functions which take a floating-point argument have
three variants, one each for `double', `float', and `long double'
arguments. The `double' versions are mostly defined in ISO C89. The
`float' and `long double' versions are from the numeric extensions to C
included in ISO C99.
Which of the three versions of a function should be used depends on
the situation. For most calculations, the `float' functions are the
fastest. On the other hand, the `long double' functions have the
highest precision. `double' is somewhere in between. It is usually
wise to pick the narrowest type that can accommodate your data. Not
all machines have a distinct `long double' type; it may be the same as
`double'.