.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright (C) 2011 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
.\" Distributed under GPL
.\" %%%LICENSE_END
.\"
.TH CATANH 3 2015-04-19 "" "Linux Programmer's Manual"
.SH NAME
catanh, catanhf, catanhl \- complex arc tangents hyperbolic
.SH SYNOPSIS
.B #include <complex.h>
.PP
.BI "double complex catanh(double complex " z );
.br
.BI "float complex catanhf(float complex " z );
.br
.BI "long double complex catanhl(long double complex " z );
.PP
Link with \fI\-lm\fP.
.SH DESCRIPTION
These functions calculate the complex arc hyperbolic tangent of
.IR z .
If \fIy\ =\ catanh(z)\fP, then \fIz\ =\ ctanh(y)\fP.
The imaginary part of
.I y
is chosen in the interval [\-pi/2,pi/2].
.PP
One has:
.PP
.nf
    catanh(z) = 0.5 * (clog(1 + z) \- clog(1 \- z))
.fi
.SH VERSIONS
These functions first appeared in glibc in version 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbw30 lb lb
l l l.
Interface	Attribute	Value
T{
.BR catanh (),
.BR catanhf (),
.BR catanhl ()
T}	Thread safety	MT-Safe
.TE
.SH CONFORMING TO
C99, POSIX.1-2001, POSIX.1-2008.
.SH EXAMPLE
.EX
/* Link with "\-lm" */

#include <complex.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>

int
main(int argc, char *argv[])
{
    double complex z, c, f;

    if (argc != 3) {
        fprintf(stderr, "Usage: %s <real> <imag>\\n", argv[0]);
        exit(EXIT_FAILURE);
    }

    z = atof(argv[1]) + atof(argv[2]) * I;

    c = catanh(z);
    printf("catanh() = %6.3f %6.3f*i\\n", creal(c), cimag(c));

    f = 0.5 * (clog(1 + z) \- clog(1 \- z));
    printf("formula  = %6.3f %6.3f*i\\n", creal(f2), cimag(f2));

    exit(EXIT_SUCCESS);
}
.EE
.SH SEE ALSO
.BR atanh (3),
.BR cabs (3),
.BR cimag (3),
.BR ctanh (3),
.BR complex (7)
.SH COLOPHON
This page is part of release 4.15 of the Linux
.I man-pages
project.
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
\%https://www.kernel.org/doc/man\-pages/.
