**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, // 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

Reference Home

*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.