This shows you the differences between two versions of the page.
— |
arduino:math:max [2024/02/16 01:04] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======max(x, y) ====== | ||
+ | |||
+ | ====Description ==== | ||
+ | |||
+ | Calculates the maximum of two numbers. | ||
+ | |||
+ | ====Parameters ==== | ||
+ | |||
+ | x: the first number, any data type | ||
+ | |||
+ | y: the second number, any data type | ||
+ | |||
+ | ====Returns ==== | ||
+ | |||
+ | The larger of the two parameter values. | ||
+ | |||
+ | ====Example ==== | ||
+ | <code arduino>sensVal = max(senVal, 20); // assigns sensVal to the larger of sensVal or 20 | ||
+ | // (effectively ensuring that it is at least 20)</code> | ||
+ | ====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. | ||
+ | |||
+ | ====Warning ==== | ||
+ | Because of the way the max() function is implemented, avoid using other functions inside the brackets, it may lead to incorrect results | ||
+ | |||
+ | <code arduino> | ||
+ | max(a--, 0); // avoid this - yields incorrect results | ||
+ | |||
+ | a--; // use this instead - | ||
+ | max(a, 0); // keep other math outside the function | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ====See also ==== | ||
+ | |||
+ | * [[arduino:math:Min]] | ||
+ | * [[arduino:variable scope and qualifiers:Constrain]] | ||
+ | |||
+ | |||
+ | |||
+ | Source: arduino.cc | ||