Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

19.2 Trigonometric Functions

These are the familiar sin, cos, and tan functions. The arguments to all of these functions are in units of radians; recall that pi radians equals 180 degrees.

The math library normally defines M_PI to a double approximation of pi. If strict ISO and/or POSIX compliance are requested this constant is not defined, but you can easily define it yourself:

     #define M_PI 3.14159265358979323846264338327

You can also compute the value of pi with the expression acos (-1.0).

— Function: double sin (double x)
— Function: float sinf (float x)
— Function: long double sinl (long double x)

These functions return the sine of x, where x is given in radians. The return value is in the range -1 to 1.

— Function: double cos (double x)
— Function: float cosf (float x)
— Function: long double cosl (long double x)

These functions return the cosine of x, where x is given in radians. The return value is in the range -1 to 1.

— Function: double tan (double x)
— Function: float tanf (float x)
— Function: long double tanl (long double x)

These functions return the tangent of x, where x is given in radians.

Mathematically, the tangent function has singularities at odd multiples of pi/2. If the argument x is too close to one of these singularities, tan will signal overflow.

In many applications where sin and cos are used, the sine and cosine of the same angle are needed at the same time. It is more efficient to compute them simultaneously, so the library provides a function to do that.

— Function: void sincos (double x, double *sinx, double *cosx)
— Function: void sincosf (float x, float *sinx, float *cosx)
— Function: void sincosl (long double x, long double *sinx, long double *cosx)

These functions return the sine of x in *sinx and the cosine of x in *cos, where x is given in radians. Both values, *sinx and *cosx, are in the range of -1 to 1.

This function is a GNU extension. Portable programs should be prepared to cope with its absence.

ISO C99 defines variants of the trig functions which work on complex numbers. The GNU C library provides these functions, but they are only useful if your compiler supports the new complex types defined by the standard. (As of this writing GCC supports complex numbers, but there are bugs in the implementation.)

— Function: complex double csin (complex double z)
— Function: complex float csinf (complex float z)
— Function: complex long double csinl (complex long double z)

These functions return the complex sine of z. The mathematical definition of the complex sine is

sin (z) = 1/(2*i) * (exp (z*i) - exp (-z*i)).

— Function: complex double ccos (complex double z)
— Function: complex float ccosf (complex float z)
— Function: complex long double ccosl (complex long double z)

These functions return the complex cosine of z. The mathematical definition of the complex cosine is

cos (z) = 1/2 * (exp (z*i) + exp (-z*i))

— Function: complex double ctan (complex double z)
— Function: complex float ctanf (complex float z)
— Function: complex long double ctanl (complex long double z)

These functions return the complex tangent of z. The mathematical definition of the complex tangent is

tan (z) = -i * (exp (z*i) - exp (-z*i)) / (exp (z*i) + exp (-z*i))

The complex tangent has poles at pi/2 + 2n, where n is an integer. ctan may signal overflow if z is too close to a pole.


 
 
  Published under the terms of the GNU General Public License Design by Interspire