Rate This Document
Findability
Accuracy
Completeness
Readability

casinh

Compute the hyperbolic arcsine of a complex number.

Interface Definition

C interface:

float complex casinhf(float complex x);

double complex casinh(double complex x);

Parameters

Parameter

Type

Description

Input/Output

x

  • For casinhf, x is of complex single-precision floating-point type.
  • For casinh, x is of complex double-precision floating-point type.

Floating-point value of the input data.

Input

Return Value

  • Normal range: The hyperbolic arcsine of the complex number x is returned.
  • Special values: See the following table.

    Real Part of the Input (x.real)

    Imaginary Part of the Input (x.imag)

    Real Part of the Output (y.real)

    Imaginary Part of the Output (y.imag)

    0

    0

    0

    0

    0

    0

    0

    0

    0

    inf

    inf

    π/2

    0

    -inf

    inf

    –π/2

    0

    SNaN

    NaN

    NaN

    0

    –SNaN

    NaN

    NaN

    0

    QNaN

    NaN

    NaN

    0

    –QNaN

    NaN

    NaN

    0

    0

    0

    0

    0

    0

    0

    0

    0

    inf

    -inf

    π/2

    0

    -inf

    -inf

    –π/2

    0

    SNaN

    NaN

    NaN

    0

    –SNaN

    NaN

    NaN

    0

    QNaN

    NaN

    NaN

    0

    –QNaN

    NaN

    NaN

    inf

    0

    inf

    0

    inf

    0

    inf

    0

    inf

    inf

    inf

    π/4

    inf

    -inf

    inf

    –π/4

    inf

    SNaN

    inf

    NaN

    inf

    –SNaN

    inf

    NaN

    inf

    QNaN

    inf

    NaN

    inf

    –QNaN

    inf

    NaN

    -inf

    0

    -inf

    0

    -inf

    0

    -inf

    0

    -inf

    inf

    -inf

    π/4

    -inf

    -inf

    -inf

    –π/4

    -inf

    SNaN

    -inf

    NaN

    -inf

    –SNaN

    -inf

    NaN

    -inf

    QNaN

    -inf

    NaN

    -inf

    –QNaN

    -inf

    NaN

    SNaN

    0

    NaN

    0

    SNaN

    0

    NaN

    0

    SNaN

    inf

    inf

    NaN

    SNaN

    -inf

    inf

    NaN

    SNaN

    SNaN

    NaN

    NaN

    SNaN

    –SNaN

    NaN

    NaN

    SNaN

    QNaN

    NaN

    NaN

    SNaN

    –QNaN

    NaN

    NaN

    –SNaN

    0

    NaN

    0

    –SNaN

    0

    NaN

    0

    –SNaN

    inf

    inf

    NaN

    –SNaN

    -inf

    inf

    NaN

    –SNaN

    SNaN

    NaN

    NaN

    –SNaN

    –SNaN

    NaN

    NaN

    –SNaN

    QNaN

    NaN

    NaN

    –SNaN

    –QNaN

    NaN

    NaN

    QNaN

    0

    NaN

    0

    QNaN

    0

    NaN

    0

    QNaN

    inf

    inf

    NaN

    QNaN

    -inf

    inf

    NaN

    QNaN

    SNaN

    NaN

    NaN

    QNaN

    –SNaN

    NaN

    NaN

    QNaN

    QNaN

    NaN

    NaN

    QNaN

    –QNaN

    NaN

    NaN

    –QNaN

    0

    NaN

    0

    –QNaN

    0

    NaN

    0

    –QNaN

    inf

    inf

    NaN

    –QNaN

    -inf

    inf

    NaN

    –QNaN

    SNaN

    NaN

    NaN

    –QNaN

    –SNaN

    NaN

    NaN

    –QNaN

    QNaN

    NaN

    NaN

    –QNaN

    –QNaN

    NaN

    NaN

Dependency

C: "kc.h"

Example

C interface:
// typical usage
double x1 = INFINITY, y1 = INFINITY;
double x2 = 2.0, y2 = 3.0;
double x3 = -2.5, y3 = -3.4;
double x4 = NAN, y4 = NAN;
double x5 = 0, y5 = 0;
// print result
printf("/*\n");
printf(" * casinh(%.2f + %.2f*I) = %.6f\n", x1, y1, casinh(__builtin_complex(x1, y1)));
printf(" * casinh(%.2f + %.2f*I) = %.6f\n", x2, y2, casinh(__builtin_complex(x2, y2)));
printf(" * casinh(%.2f + %.2f*I) = %.6f\n", x3, y3, casinh(__builtin_complex(x3, y3)));
printf(" * casinh(%.2f + %.2f*I) = %.6f\n", x4, y4, casinh(__builtin_complex(x4, y4)));
printf(" * casinh(%.2f + %.2f*I) = %.6f\n", x5, y5, casinh(__builtin_complex(x5, y5)));
printf(" **/\n");
/*
 * casinh(inf + inf*I) = inf
 * casinh(2.00 + 3.00*I) = 1.968638
 * casinh(-2.50 + -3.40*I) = -2.129092
 * casinh(nan + nan*I) = nan
 * casinh(0.00 + 0.00*I) = 0.000000
 **/