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 |
|
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
// 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
**/