blob: efe78ca6745f5d0960f99f511660ec440ac95485 (
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
65
66
|
.. highlight:: cpp
.. _arduino-min:
min(x, y)
=========
Description
-----------
(Macro) Calculates the minimum of two numbers.
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 smaller of the two numbers.
Example
-------
::
sensVal = min(sensVal, 100); // assigns sensVal to the smaller of sensVal or 100
// ensuring that it never gets above 100.
.. 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 ``min()`` is implemented, avoid using other
functions inside the parentheses. It may lead to incorrect results::
min(a++, 100); // avoid this - yields incorrect results
a++; // use this instead -
min(a, 100); // keep other operations outside min()
Arduino Compatibility
---------------------
The Maple version of ``min()`` is compatible with Arduino.
See Also
--------
- :ref:`max() <arduino-max>`
- :ref:`constrain() <arduino-constrain>`
.. include:: cc-attribution.txt
|