Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

hypot(3m)

math(3m)

sqrt(3m)

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. 

See Also

hypot(3m), math(3m), sqrt(3m)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026