Math

This library allows for the calculation of min/max, absolute value and the square root of a number. Users can also constrain a number within a range, re-map a number from one range to another, and calculate the value of a number raised to a power.

min

Description
Calculates the minimum of two numbers.
Syntax
min(x, y)
Parameters
x: The first number, any data type
y: The second number, any data type
Returns
The smaller of the two numbers.

max

Description
Calculates the maximum of two numbers.
Syntax
max(x, y)
Parameters
x: The first number, any data type
y: The second number, any data type
Returns
The larger of the two parameter values.

abs

Description
Computes the absolute value of a number.
Syntax
abs(x)
Parameters
x: The number
Returns
If x is greater than or equal to 0. -x: If x is less than 0.

constrain

Description
Constrains a number to be within a range.
Syntax
constrain(x, a, b)
Parameters
x: The number to constrain, all data types
a: The lower end of the range, all data types
b: The upper end of the range, all data types
Returns
x: If x is between a and b. a: If x is less than a. b: If x is greater than b.

map

Description
Re-maps a number from one range to another. That is, a value of fromLow would get mapped to toLow, a value of fromHigh to toHigh, values in-between to values in-between, etc.
Syntax
map(value, fromLow, fromHigh, toLow, toHigh)
Parameters
value: The number to map
fromLow: The lower bound of the value's current range
fromHigh: The upper bound of the value's current range
toLow: The lower bound of the value's target range
toHigh: The upper bound of the value's target range
Returns
The mapped value.

pow

Description
Calculates the value of a number raised to a power.
Syntax
pow(base, exponent)
Parameters
base: The number (float)
exponent: The power to which the base is raised (float)
Returns
The result of the exponentiation (double)

sqrt

Description
Calculates the square root of a number.
Syntax
sqrt(x)
Parameters
x: The number, any data type
Returns
Double, the number's square root.

Example

Output a calculation with constrain() and pow().


#include <Arduino.h>
void setup(){
    Serial.begin(9600);
}
 
void loop(){
    Serial.println("Calculate the area of a circle ");
    Serial.println("Input value 0-9");
    while(!Serial.available());
     
    int d = Serial.read();
     
    d = constrain(d - 0x30, 0, 9); //convert from ASCII to numeric, and remove error value
    Serial.print(d);
    Serial.print(" x ");
    Serial.print(d);
    Serial.print(" x 3.14 = ");
 
    Serial.println(pow(d, 2) * PI);
}