sinh, sinhf, sinhl
Header: <math.h>
1-3) Computes hyperbolic sine of arg.
# Declarations
float sinhf( float arg );
(since C99)
double sinh( double arg );
long double sinhl( long double arg );
(since C99)
#define sinh( arg )
(since C99)
# Parameters
arg: floating-point value representing a hyperbolic angle
# Return value
If a range error due to overflow occurs, ±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL is returned.
# Notes
POSIX specifies that in case of underflow, arg is returned unmodified, and if that is not supported, an implementation-defined value no greater than DBL_MIN, FLT_MIN, and LDBL_MIN is returned.
# Example
#include <errno.h>
#include <fenv.h>
#include <math.h>
#include <stdio.h>
// #pragma STDC FENV_ACCESS ON
int main(void)
{
printf("sinh(1) = %f\nsinh(-1)=%f\n", sinh(1), sinh(-1));
printf("log(sinh(1) + cosh(1))=%f\n", log(sinh(1) + cosh(1)));
// special values
printf("sinh(+0) = %f\nsinh(-0)=%f\n", sinh(0.0), sinh(-0.0));
// error handling
errno = 0; feclearexcept(FE_ALL_EXCEPT);
printf("sinh(710.5) = %f\n", sinh(710.5));
if (errno == ERANGE)
perror(" errno == ERANGE");
if (fetestexcept(FE_OVERFLOW))
puts(" FE_OVERFLOW raised");
}