Reference   Language | Libraries | Comparison | Changes

## math.h

The AVR math library, which is included in your sketch by using the line

#include <math.h>    // (no semicolon)

includes a great number of mathematical functions. This is why you graduated from the Basic Stamp.

The Atmega8 chip, which is now dated, but still supported, does not have enough memory to be able use the math.h library so you will probably need to update to an Atmega168 if you wish to use any of these functions.

The full docs for math.h may be found here

#### Example:

` Someone email a small example to pbadger@verizon.net and I'll put it in here `

#### List of more common functions with descriptions

This is just a partial list - check the docs for more obscure functions

double   cos(double __x)   // returns cosine of x in radians
double  fabs (double __x)  // absolute value of a float
double  fmod (double __x, double __y) // floating point modulo
double  modf (double __value, double *__iptr) //breaks the argument value into integral and fractional parts
double  sin (double __x)   // returns sine of x in radians
double  sqrt (double __x) // returns square root of x in radians
double  tan (double __x)   // returns tangent of x in radians
double  exp (double __x)   // function returns the exponential value of x.
double  atan (double __x)  // arc tangent of x
double  atan2 (double __y, double __x)  // arc tangent of y/x
double  log (double __x)   // natural logarithm of x
double  log10 (double __x) //logarithm of x to base 10.
double  pow (double __x, double __y) // x to power of y
int     isnan (double __x) // returns 1 if "not a number"
int     isinf (double __x) //returns 1 if the argument x is positive or negative infinity
double square (double __x) // square of x

## See

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.