Next: Arithmetic, Previous: Syslog, Up: Top [Contents][Index]

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`

.

• Mathematical Constants: | Precise numeric values for often-used constants. | |

• Trig Functions: | Sine, cosine, tangent, and friends. | |

• Inverse Trig Functions: | Arcsine, arccosine, etc. | |

• Exponents and Logarithms: | Also pow and sqrt. | |

• Hyperbolic Functions: | sinh, cosh, tanh, etc. | |

• Special Functions: | Bessel, gamma, erf. | |

• Errors in Math Functions: | Known Maximum Errors in Math Functions. | |

• Pseudo-Random Numbers: | Functions for generating pseudo-random numbers. | |

• FP Function Optimizations: | Fast code or small code. |

Next: Arithmetic, Previous: Syslog, Up: Top [Contents][Index]