# ccosh(), ccoshf(), ccoshl()

Compute the complex hyperbolic cosine

## Synopsis:

```#include <complex.h>

double complex ccosh( double complex z );

float complex ccoshf( float complex z );

long double complex ccoshl( long double complex z );
```

## Arguments:

z
The value that you want to get the complex hyperbolic cosine of.

## Library:

libm

Use the -l m option to qcc to link against this library.

## Description:

These functions compute the complex hyperbolic cosine of z.

To check for error situations, use feclearexcept() and fetestexcept(). For example:

• Call feclearexcept(FE_ALL_EXCEPT) before calling ccosh(), ccoshf(), or ccoshl().
• On return, if fetestexcept(FE_ALL_EXCEPT) is nonzero, then an error has occurred.

## Returns:

The complex hyperbolic cosine of z.

If z is: These functions return: Errors:
0 + 0i 1 + 0i
0 + Infi NaN ± 0i, where the sign of the imaginary part is unspecified FE_INVALID
0 + NaNi NaN ± 0i, where the sign of the imaginary part is unspecified
x + Infi, for any finite non-zero x NaN - NaNi FE_INVALID
x + NaNi, for any finite non-zero x NaN + NaNi
Inf + 0i Inf + 0i
Inf + yi, for any finite nonzero y Inf + Inf * cis(y), where cis(y) is cos(y) + i sin(y)
Inf + Infi ±Inf + NaNi, where the sign of the real part is unspecified FE_INVALID
Inf + NaNi Inf + NaNi
NaN + 0i NaN ± 0i, where the sign of the imaginary part is unspecified
NaN + yi, for any finite nonzero y NaN + NaNi
NaN + NaNi NaN + NaNi

These functions raise FE_INEXACT if the FPU reports that the result can't be exactly represented as a floating-point number.

## Classification:

Safety:
Cancellation point No
Interrupt handler No
Signal handler No