# cacosh(3)

#### NAME

```   cacosh, cacoshf, cacoshl - complex arc hyperbolic cosine

```

#### SYNOPSIS

```   #include <complex.h>

double complex cacosh(double complex z);
float complex cacoshf(float complex z);
long double complex cacoshl(long double complex z);

```

#### DESCRIPTION

```   These  functions  calculate the complex arc hyperbolic cosine of z.  If
y = cacosh(z), then z = ccosh(y).  The imaginary part of y is chosen in
the interval [-pi,pi].  The real part of y is chosen nonnegative.

One has:

cacosh(z) = 2 * clog(csqrt((z + 1) / 2) + csqrt((z - 1) / 2))

```

#### VERSIONS

```   These functions first appeared in glibc in version 2.1.

```

#### ATTRIBUTES

```   For   an   explanation   of   the  terms  used  in  this  section,  see
attributes(7).

Interface                       Attribute      Value

cacosh(), cacoshf(), cacoshl()  Thread safety  MT-Safe

```

#### CONFORMINGTO

```   C99, POSIX.1-2001, POSIX.1-2008.

```

#### EXAMPLE

```   /* 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 = cacosh(z);
printf("cacosh() = %6.3f %6.3f*i\n", creal(c), cimag(c));

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

exit(EXIT_SUCCESS);
}

```

#### SEEALSO

```   acosh(3), cabs(3), ccosh(3), cimag(3), complex(7)

```

#### COLOPHON

```   This page is part of release 4.09 of the Linux  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/.

2015-04-19                         CACOSH(3)
```

## More Linux Commands

manpages/xdrrec_endofrecord.3.html
xdrrec_endofrecord(3) - library routines for external data r
These routines allow C programmers to describe arbitrary data structures in a machine-independent fashion. Data for remote procedure calls are transmitted using

manpages/XML::XPath::Builder.3pm.html
XML::XPath::Builder(3pm) - SAX handler for building an XPath
XML::XPath::Builder is a SAX handler for building an XML::XPath tree. XML::XPath::Builder is used by creating a new instance of XML::XPath::Builder and providin

manpages/jv-convert.1.html
jv-convert(1) - Convert file from one encoding to another...
jv-convert is a utility included with libgcj which converts a file from one encoding to another. It is similar to the Unix iconv utility. The encodings supporte

manpages/glRasterPos3s.3gl.html
glRasterPos3s(3gl) - specify the raster position for pixel o
The GL maintains a 3D position in window coordinates. This position, called the raster position, is used to position pixel and bitmap write operations. It is ma

manpages/snapper-zypp-plugin.conf.5.html
snapper-zypp-plugin.conf(5) Configuration file for snapperzy
The file /etc/snapper/zypp-plugin.conf contains the configuation for snapper-zypp-plugin. The file uses XML syntax. For the XML structure have a look at the pro

manpages/gnutls_record_check_pending.3.html
gnutls_record_check_pending(3) - API function (Man Page)....
This function checks if there are unread data in the gnutls buffers. If the return value is non-zero the next call to gnutls_record_recv() is guarranteed not to

manpages/Tcl_SetTimeProc.3.html
Tcl_SetTimeProc(3) - get date and time - Linux manual page
The Tcl_GetTime function retrieves the current time as a Tcl_Time structure in memory the caller provides. This structure has the following definition: typedef

manpages/perlgit.1.html
perlgit(1) - Detailed information about git and the Perl rep
This document provides details on using git to develop Perl. If you are just interested in working on a quick patch, see perlhack first. This document is intend

manpages/glGetTexEnviv.3gl.html
glGetTexEnviv(3gl) - return texture environment parameters
glGetTexEnv returns in params selected values of a texture environment that was specified with glTexEnv. target specifies a texture environment. Currently, only

manpages/getnetgrent_r.3.html
getnetgrent_r(3) - handle network group entries (Man Page)
The netgroup is a SunOS invention. A netgroup database is a list of string triples (hostname, username, domainname) or other netgroup names. Any of the elements

manpages/git-count-objects.1.html
git-count-objects(1) - Count unpacked number of objects and
This counts the number of unpacked object files and disk space consumed by them, to help you decide when it is a good time to repack. OPTIONS -v, --verbose Repo