<html lang="en">
<head>
<title>Mathematics - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Syslog.html#Syslog" title="Syslog">
<link rel="next" href="Arithmetic.html#Arithmetic" title="Arithmetic">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.

This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).

Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A
copy of the license is included in the section entitled "GNU Free
Documentation License".

(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual.  Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Mathematics"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Arithmetic.html#Arithmetic">Arithmetic</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Syslog.html#Syslog">Syslog</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>

<!-- %MENU% Math functions, useful constants, random numbers -->
<h2 class="chapter">19 Mathematics</h2>

<p>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
<samp><span class="file">math.h</span></samp>.  The complex-valued functions are defined in
<samp><span class="file">complex.h</span></samp>. 
<a name="index-math_002eh-2066"></a><a name="index-complex_002eh-2067"></a>
All mathematical functions which take a floating-point argument
have three variants, one each for <code>double</code>, <code>float</code>, and
<code>long double</code> arguments.  The <code>double</code> versions are mostly
defined in ISO&nbsp;C89<!-- /@w -->.  The <code>float</code> and <code>long double</code>
versions are from the numeric extensions to C included in ISO&nbsp;C99<!-- /@w -->.

   <p>Which of the three versions of a function should be used depends on the
situation.  For most calculations, the <code>float</code> functions are the
fastest.  On the other hand, the <code>long double</code> functions have the
highest precision.  <code>double</code> is somewhere in between.  It is
usually wise to pick the narrowest type that can accommodate your data. 
Not all machines have a distinct <code>long double</code> type; it may be the
same as <code>double</code>.

<ul class="menu">
<li><a accesskey="1" href="Mathematical-Constants.html#Mathematical-Constants">Mathematical Constants</a>:       Precise numeric values for often-used
                                 constants. 
<li><a accesskey="2" href="Trig-Functions.html#Trig-Functions">Trig Functions</a>:               Sine, cosine, tangent, and friends. 
<li><a accesskey="3" href="Inverse-Trig-Functions.html#Inverse-Trig-Functions">Inverse Trig Functions</a>:       Arcsine, arccosine, etc. 
<li><a accesskey="4" href="Exponents-and-Logarithms.html#Exponents-and-Logarithms">Exponents and Logarithms</a>:     Also pow and sqrt. 
<li><a accesskey="5" href="Hyperbolic-Functions.html#Hyperbolic-Functions">Hyperbolic Functions</a>:         sinh, cosh, tanh, etc. 
<li><a accesskey="6" href="Special-Functions.html#Special-Functions">Special Functions</a>:            Bessel, gamma, erf. 
<li><a accesskey="7" href="Errors-in-Math-Functions.html#Errors-in-Math-Functions">Errors in Math Functions</a>:     Known Maximum Errors in Math Functions. 
<li><a accesskey="8" href="Pseudo_002dRandom-Numbers.html#Pseudo_002dRandom-Numbers">Pseudo-Random Numbers</a>:        Functions for generating pseudo-random
				 numbers. 
<li><a accesskey="9" href="FP-Function-Optimizations.html#FP-Function-Optimizations">FP Function Optimizations</a>:    Fast code or small code. 
</ul>

   </body></html>

