blob: d356f084673063a941b3abdbde750db057a2614f (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 | .. highlight:: cpp
.. _lang-max:
max()
=====
(Macro) Calculates the maximum of two numbers.
Syntax
------
::
    max(x, y)
Parameters
----------
**x**: the first number; may be any number or numeric expression.
**y**: the second number; may be any number or numeric expression.
Returns
-------
The larger of the two parameter values.
Example
-------
::
    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 :ref:`min()
   <lang-min>` is used to constrain the upper end of the range.
Warning
-------
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()
Arduino Compatibility
---------------------
The Maple implementation of ``max()`` is compatible with Arduino.
See Also
--------
-  :ref:`min() <lang-min>`
-  :ref:`constrain() <lang-constrain>`
.. include:: /arduino-cc-attribution.txt
 |