sin(3m) — RISC
Name
sin, cos, tan, asin, acos, atan, atan2 − trigonometric functions and their inverses
Syntax
#include <math.h>
double sin(x)
double x;
float fsin(x)
float x;
double cos(x)
double x;
float fcos(x)
float x;
double tan(x)
double x;
float ftan(x)
float x;
double asin(x)
double x;
float fasin(x)
float x;
double acos(x)
double x;
float facos(x)
float x;
double atan(x)
double x;
float fatan(x)
float x;
double atan2(y,x)
double y,x;
float fatan2(y,x)
float y,x;
Description
The sin, cos, and tan functions return trigonometric functions of radian arguments x for double data types.
The fsin, fcos, and ftan functions return trigonometric functions for float data types.
The asin and fasin functions return the arc sine in the range −π/2 to π/2 for double and float data types, respectively.
The acos and facos functions return the arc cosine in the range 0 to π for double and float data types, respectively.
The atan and fatan functions return the arc tangent in the range −π/2 to π/2 for double and float data types, respectively.
The atan2 and fatan2 functions return the arc tangent of y/x in the range −π to π, using the signs of both arguments to determine the quadrant of the return value for double and float data types, respectively.
Error (due to roundoff)
When P stands for the number stored in the computer in place of π = 3.14159 26535 89793 23846 26433 ... . and "trig" stands for one of "sin", "cos" or "tan", then the expression "trig(x)" in a program actually produces an approximation to trig(x∗π/P), and "atrig(x)" approximates (P/π)∗atrig(x). The approximations are close.
P differs from π by a fraction of an ulp; the difference is apparent only if the argument x is huge, and even then the difference is likely to be swamped by the uncertainty in x. Every trigonometric identity that does not involve π explicitly is satisfied equally well regardless of whether P = π. For example, sin2(x)+cos2(x) = 1 and sin(2x) = 2sin(x)cos(x) to within a few ulps regardless of how big x is. Therefore, the difference between P and π is unlikely to effect scientific and engineering computations.
Return Values
All the double functions return NaN if NaN is passed in.
If |x| > 1 then asin (x) and acos (x) will return the default quiet NaN.
The atan2 function defines atan2 (0,0) = NaN.