sin, sinf, sinl - sine function
#include <math.h>
double sin(doublex);
float sinf(floatx);
long double sinl(long doublex);
[CX]The functionality described on this reference page is aligned with the ISO C standard. Any conflict between therequirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2017 defers to the ISO Cstandard.
These functions shall compute the sine of their argumentx, measured in radians.
An application wishing to check for error situations should seterrno to zero and callfeclearexcept(FE_ALL_EXCEPT) before calling these functions. On return, iferrno is non-zero orfetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) is non-zero, an error has occurred.
Upon successful completion, these functions shall return the sine ofx.
[MX]
Ifx is NaN, a NaN shall be returned.
Ifx is ±0,x shall be returned.
Ifx is subnormal, a range error may occur
[MXX]
andx should be returned.
[MX]
Ifx is not returned,sin(),sinf(), andsinl() shall return an implementation-defined value no greater inmagnitude than DBL_MIN, FLT_MIN, and LDBL_MIN, respectively.
Ifx is ±Inf, a domain error shall occur, and a NaN shall be returned.
These functions shall fail if:
- Domain Error
- [MX]
Thex argument is ±Inf.
If the integer expression (math_errhandling & MATH_ERRNO) is non-zero, thenerrno shall be set to [EDOM]. Ifthe integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, then the invalid floating-point exception shallbe raised.
These functions may fail if:
- Range Error
- [MX]
The value ofx is subnormal
If the integer expression (math_errhandling & MATH_ERRNO) is non-zero, thenerrno shall be set to [ERANGE]. Ifthe integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, then the underflow floating-point exceptionshall be raised.
Taking the Sine of a 45-Degree Angle
#include <math.h>...double radians = 45.0 * M_PI / 180;double result;...result = sin(radians);
These functions may lose accuracy when their argument is near a multiple of
or is farfrom 0.0.
On error, the expressions (math_errhandling & MATH_ERRNO) and (math_errhandling & MATH_ERREXCEPT) areindependent of each other, but at least one of them must be non-zero.
None.
None.
asin,feclearexcept,fetestexcept,isnan
XBDTreatment of Error Conditions for Mathematical Functions,<math.h>
First released in Issue 1. Derived from Issue 1 of the SVID.
The last two paragraphs of the DESCRIPTION were included as APPLICATION USAGE notes in previous issues.
Thesinf() andsinl() functions are added for alignment with the ISO/IEC 9899:1999 standard.
The DESCRIPTION, RETURN VALUE, ERRORS, and APPLICATION USAGE sections are revised to align with the ISO/IEC 9899:1999standard.
IEC 60559:1989 standard floating-point extensions over the ISO/IEC 9899:1999 standard are marked.
POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0585 [68] and XSH/TC1-2008/0586 [320] are applied.
return to top of page