(Macro) Calculates the maximum of two numbers.
max(x, y)
x: the first number; may be any number or numeric expression.
y: the second number; may be any number or numeric expression.
The larger of the two parameter values.
sensVal = max(senVal, 20); // assigns sensVal to the larger of sensVal or 20
// (effectively ensuring that it is at least 20)
Note
Perhaps counter-intuitively, max() is often used to constrain the lower end of a variable’s range, while min() is used to constrain the upper end of the range.
Because of the way max() is implemented, avoid using other functions inside the parentheses. It may lead to incorrect results:
max(a--, 0); // avoid this - yields incorrect results
a--; // use this instead -
max(a, 0); // keep other operations outside max()
The Maple implementation of max() is compatible with Arduino.
License and Attribution
Portions of this page were adapted from the Arduino Reference Documentation, which is released under a Creative Commons Attribution-ShareAlike 3.0 License.