sinh, sinhf, sinhl, sinhd32, sinhd64, and sinhd128 Subroutines

Purpose

Computes hyperbolic sine.

Syntax

#include <math.h>

double sinh ( x)
double x;

float sinhf (x)
float x;
long double sinhl (x)
long double x;

_Decimal32 sinhd32 (x)
_Decimal32 x;

_Decimal64 sinhd64 (x)
_Decimal64 x;

_Decimal128 sinhd128 (x)
_Decimal128 x;

Description

The sinh, sinhf, sinhl, sinhd32, sinhd64, and sinhd128 subroutines compute the hyperbolic sine of the x parameter.

An application wishing to check for error situations should set the errno global variable to zero and call feclearexcept(FE_ALL_EXCEPT) before calling these subroutines. Upon return, if errno is nonzero or fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) is nonzero, an error has occurred.

Parameters

Item Description
x Specifies a double-precision floating-point value.

Return Values

Upon successful completion, the sinh, sinhf, sinhl, sinhd32, sinhd64, and sinhd128 subroutines return the hyperbolic sine of x.

If the result would cause an overflow, a range error occurs and ±HUGE_VAL, ±HUGE_VALF, ±HUGE_VALL, ±HUGE_VAL_D32, ±HUGE_VAL_D64, and ±HUGE_VAL_D128 (with the same sign as x) is returned as appropriate for the type of the function.

If x is NaN, a NaN is returned.

If x is ±0 or infinite, x is returned.

If x is subnormal, a range error may occur and x should be returned.

Error Codes

If the correct value overflows, the sinh, sinhf, sinhl, sinhd32, sinhd64, and sinhd128 subroutines return a correctly signed HUGE_VAL, and the errno global variable is set to ERANGE.

These error-handling procedures should be changed with the matherr subroutine when the libmsaa.a (-lmsaa) library is used.