Reference   Language | Libraries | Comparison | Changes


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


Someone email a small example to 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


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.