# cpython-withatomic / Doc / libcmath.tex

The branch 'legacy-trunk' does not exist.
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 \section{Built-in Module \sectcode{cmath}} \label{module-cmath} \bimodindex{cmath} \renewcommand{\indexsubitem}{(in module cmath)} This module is always available. It provides access to mathematical functions for complex numbers. The functions are: \begin{funcdesc}{acos}{x} Return the arc cosine of \var{x}. \end{funcdesc} \begin{funcdesc}{acosh}{x} Return the hyperbolic arc cosine of \var{x}. \end{funcdesc} \begin{funcdesc}{asin}{x} Return the arc sine of \var{x}. \end{funcdesc} \begin{funcdesc}{asinh}{x} Return the hyperbolic arc sine of \var{x}. \end{funcdesc} \begin{funcdesc}{atan}{x} Return the arc tangent of \var{x}. \end{funcdesc} \begin{funcdesc}{atanh}{x} Return the hyperbolic arc tangent of \var{x}. \end{funcdesc} \begin{funcdesc}{cos}{x} Return the cosine of \var{x}. \end{funcdesc} \begin{funcdesc}{cosh}{x} Return the hyperbolic cosine of \var{x}. \end{funcdesc} \begin{funcdesc}{exp}{x} Return the exponential value $\mbox{e}^x$. \end{funcdesc} \begin{funcdesc}{log}{x} Return the natural logarithm of \var{x}. \end{funcdesc} \begin{funcdesc}{log10}{x} Return the base-10 logarithm of \var{x}. \end{funcdesc} \begin{funcdesc}{sin}{x} Return the sine of \var{x}. \end{funcdesc} \begin{funcdesc}{sinh}{x} Return the hyperbolic sine of \var{x}. \end{funcdesc} \begin{funcdesc}{sqrt}{x} Return the square root of \var{x}. \end{funcdesc} \begin{funcdesc}{tan}{x} Return the tangent of \var{x}. \end{funcdesc} \begin{funcdesc}{tanh}{x} Return the hyperbolic tangent of \var{x}. \end{funcdesc} The module also defines two mathematical constants: \begin{datadesc}{pi} The mathematical constant \emph{pi}, as a real. \end{datadesc} \begin{datadesc}{e} The mathematical constant \emph{e}, as a real. \end{datadesc} Note that the selection of functions is similar, but not identical, to that in module \code{math}. The reason for having two modules is, that some users aren't interested in complex numbers, and perhaps don't even know what they are. They would rather have \code{math.sqrt(-1)} raise an exception than return a complex number. Also note that the functions defined in \code{cmath} always return a complex number, even if the answer can be expressed as a real number (in which case the complex number has an imaginary part of zero).