Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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
);
Parameters
- x
Angle in radians.
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 |
± ∞ (sin, sinf) |
INVALID |
_DOMAIN |
|x| ≥ 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
Routine |
Required header |
---|---|
sin, sinf, sinh, sinhf |
<math.h> |
For additional compatibility information, see Compatibility in the Introduction.
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