C complex.h csinh,csinhf and csinhl


The C <complex.h> csinh,csinhf and csinhl function compute the hyperbolic sine of the complex number.The declaration of the function is given below.

1 double complex csinh(double complex z);
2 float complex csinhf(float complex z);
3 long double complex csinhl(long double complex z);

All the three functions compute the same value,the only difference between them is in their return type:

i)The ‘csinh’ return the hyperbolic sine as double complex type.
ii)The ‘csinhf’ return the hyperbolic sine as float complex type and
iii)The ‘csinhl’ return the hyperbolic sine as long double complex type.

Some points to note:

i)The csinh,csinhf and csinhl is computed using the formula:

C complex.h csinh,csinhf and csinhl

“sinh=csinh=csinhf=csinhl”

double complex csinh(double complex z);

Parameters:
z – A complex number whose hyperbolic sine is to be computed.

Return type
double complex -The complex hyperbolic sine of ‘z’ as double type.

Code example

double complex c1=345.66 +I*11.22 , c2 ;

c2=csinh( c1 ) ;

printf( “Real part of c2=%lf”, creal(c2) ) ;
printf( “\nImaginary part of c2=%lf”, cimag(c2) ) ;

Output in Code::Blocks,

Real part of c2=146090310910381310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000
Imaginary part of c2=-639986071955126870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000

(I don’t know how may zeros are there)

Link : C complex.h creal,crealf and creall
Link : C complex.h cimag,cimagf and cimagl


 



float complex csinhf(float complex z);

This function return the hyperbolic sine as float type.

Parameters:
z – A complex number whose hyperbolic sine is to be computed.

Return type
float complex -The complex hyperbolic sine of ‘z’ as float type.

Code example

float complex c1=345.66 +I*11.22 , c2 ;

c2=csinhf( c1 ) ;

printf( “Real part of c2=%f”, crealf(c2) ) ;
printf( “\nImaginary part of c2=%f”, cimagf(c2) ) ;

Output in Code::Blocks,

Real part of c2=1.#INF00
Imaginary part of c2=-1.#INF00

The above output means ‘infinity’ for both the real and imaginary part.Since the hyperbolic sine value is not representable by the float type we get the output as infinity.


long double complex csinhl(long double complex z);

This function return the hyperbolic sine as long double type.

Parameters:
z – A complex number whose hyperbolic sine is to be computed.

Return type
long double complex -The complex hyperbolic sine of ‘z’ as long double type.

Code example

long double complex c1=345.66 +I*11.22 , c2 ;

c2=csinhl( c1 ) ;

printf( “Real part of c2=%Lf”, creall(c2) ) ;
printf( “\nImaginary part of c2=%Lf”, cimagl(c2) ) ;

Output in Code::Blocks,

Real part of c2=146090310910381310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000
Imaginary part of c2=-639986071955126870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000


*Side Note

Some facts about csinh,csinhf and csinhl ,

  ➥csinh(conj(z)) = conj(csinh(z)) and csinh is odd.

  ➥csinh(+0+i0) returns +0+i0.

  ➥csinh(+0 + i∞) returns ±0+iNaN (where the sign of the real part of the result is unspecified) and raises the in valid floating-point exception.

  ➥csinh(+0 + iNaN) returns ±0+iNaN (where the sign of the real part of the result is unspecified).

  ➥csinh(x + i∞) returns NaN+iNaN and raises the invalid floating-point exception, for positive finite x.

  ➥csinh(x + iNaN) returns NaN+iNaN and optionally raises the in valid floating-point exception, for finite nonzero x.

  ➥csinh(+∞ + i0) returns +∞+i0.

  ➥csinh(+∞ + iy) returns +∞+ (-∞), for positive finite y.

  ➥csinh(+∞ + i∞) returns ±∞+iNaN (where the sign of the real part of the result is unspecified) and raises the invalid floating-point exception.

  ➥csinh(+∞ + iNaN) returns ±∞+iNaN (where the sign of the real part of the result is unspecified)

  ➥csinh(NaN + i0) returns NaN+i0.

  ➥csinh(NaN + iy) returns NaN+iNaN and optionally raises the in valid floating-point exception, for all nonzero numbers y.

  ➥csinh(NaN + iNaN) returns NaN+iNaN.

Link :C complex.h conj,conjf and conjl