0 out of 3 rated this helpful - Rate this topic

# sin, sinf, sinh, sinhf

Visual Studio .NET 2003

Calculate 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
);
double sinh(
double x
);
float sinh(
float x
);  // C++ only
long double sinh(
long double x
);  // C++ only
float sinhf(
float x
);
```

x

#### Return Value

sin returns 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

sinh returns the hyperbolic sine of x. If the result is too large, sinh sets errno to ERANGE and returns ±HUGE_VAL, by default.

Input SEH Exception Matherr Exception
± QNAN,IND None _DOMAIN
± &infin;
(sin, sinf)
INVALID _DOMAIN
|x| &ge; 7.104760e+002
(sinh, sinhf)
OVERFLOW+INEXACT OVERFLOW

See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, return codes.

#### Remarks

C++ allows overloading, so users can call overloads of sin and sinh that take double, float or long double types. In a C program, the sin and sinh functions always take and return double and float, respectively.

#### Requirements

sin, sinf, sinh, sinhf <math.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

#### 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 );
}
```

#### Output

```sin( 1.570796 ) = 1.000000
sinh( 1.570796 ) = 2.301299
cos( 1.570796 ) = 0.000000
cosh( 1.570796 ) = 2.509178
```