# sin, sinf, sinl, sinh, sinhf, sinhl

Visual Studio 2013

Calculates sines and hyperbolic sines.

```double sin(
double x
);
float sin(
float x
);  // C++ only
long double sin(
long double x
);  // C++ only
float sinf(
float x
);
long double sinl(
long double x
);
double sinh(
double x
);
float sinh(
float x
);  // C++ only
long double sinh(
long double x
);  // C++ only
float sinhf(
float x
);
long double sinhl(
long double x
);
```

x

## Return Value

The sin functions return the sine of x. If x is greater than or equal to 263, or less than or equal to –263, a loss of significance in the result occurs.

The sinh functions return the hyperbolic sine of x. By default, if the result is too large, sinh sets errno to ERANGE and returns ±HUGE_VAL.

Input

SEH Exception

Matherr Exception

± QNAN,IND

None

_DOMAIN

± ∞ (sin, sinf, sinl)

INVALID

_DOMAIN

|x| ≥ 7.104760e+002 (sinh, sinhf, sinhl)

OVERFLOW+INEXACT

OVERFLOW

For more information about return codes, see errno, _doserrno, _sys_errlist, and _sys_nerr.

## Remarks

Because C++ allows overloading, you can call overloads of sin and sinh that take and return float or long double values. In a C program, sin and sinh always take and return double.

## Requirements

Routine

sin , sinf, sinl, sinh, sinhf, sinhl

<math.h>

For additional compatibility information, see Compatibility.

## Example

```// crt_sincos.c
// This program displays the sine, hyperbolic
// sine, cosine, and hyperbolic cosine of pi / 2.
//

#include <math.h>
#include <stdio.h>

int main( void )
{
double pi = 3.1415926535;
double x, y;

x = pi / 2;
y = sin( x );
printf( "sin( %f ) = %f\n", x, y );
y = sinh( x );
printf( "sinh( %f ) = %f\n",x, y );
y = cos( x );
printf( "cos( %f ) = %f\n", x, y );
y = cosh( x );
printf( "cosh( %f ) = %f\n",x, y );
}
```
```sin( 1.570796 ) = 1.000000
sinh( 1.570796 ) = 2.301299
cos( 1.570796 ) = 0.000000
cosh( 1.570796 ) = 2.509178```