| \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: | 
 | \iftexi | 
 | \begin{funcdesc}{acos}{x} | 
 | \funcline{asin}{x} | 
 | \funcline{atan}{x} | 
 | \funcline{cos}{x} | 
 | \funcline{cosh}{x} | 
 | \funcline{exp}{x} | 
 | \funcline{log}{x} | 
 | \funcline{log10}{x} | 
 | \funcline{sin}{x} | 
 | \funcline{sinh}{x} | 
 | \funcline{sqrt}{x} | 
 | \funcline{tan}{x} | 
 | \funcline{tanh}{x} | 
 | \end{funcdesc} | 
 | \else | 
 | \code{acos(\varvars{x})}, | 
 | \code{acosh(\varvars{x})}, | 
 | \code{asin(\varvars{x})}, | 
 | \code{asinh(\varvars{x})}, | 
 | \code{atan(\varvars{x})}, | 
 | \code{atanh(\varvars{x})}, | 
 | \code{cos(\varvars{x})}, | 
 | \code{cosh(\varvars{x})}, | 
 | \code{exp(\varvars{x})}, | 
 | \code{log(\varvars{x})}, | 
 | \code{log10(\varvars{x})}, | 
 | \code{sin(\varvars{x})}, | 
 | \code{sinh(\varvars{x})}, | 
 | \code{sqrt(\varvars{x})}, | 
 | \code{tan(\varvars{x})}, | 
 | \code{tanh(\varvars{x})}. | 
 | \fi | 
 |  | 
 | The module also defines two mathematical constants: | 
 | \iftexi | 
 | \begin{datadesc}{pi} | 
 | \dataline{e} | 
 | \end{datadesc} | 
 | \else | 
 | \code{pi} and \code{e}. | 
 | \fi | 
 |  | 
 | 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). |