## Reference.Max History

February 06, 2010, at 09:26 AM by David A. Mellis -
Changed lines 38-40 from:
to:
February 06, 2010, at 02:48 AM by Paul Badger -
Changed lines 38-39 from:
to:
January 27, 2009, at 12:25 PM by David A. Mellis -
Changed line 30 from:

min(a, 100); // keep other math outside the function

to:

max(a, 0); // keep other math outside the function

January 27, 2009, at 06:53 AM by Paul Badger -
January 27, 2009, at 06:52 AM by Paul Badger -
Changed lines 23-33 from:
to:

#### Warning

Because of the way the max() function is implemented, avoid using other functions inside the brackets, it may lead to incorrect results

```max(a--, 0);   // avoid this - yields incorrect results

a--;           // use this instead -
min(a, 100);   // keep other math outside the function

```

November 04, 2007, at 05:30 AM by Paul Badger -
Changed lines 19-21 from:
```                           // (effectively ensuring that it is at least 20)
```

@]

to:
```                           // (effectively ensuring that it is at least 20)@]
```
November 04, 2007, at 05:30 AM by Paul Badger -

#### 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.

November 04, 2007, at 05:24 AM by Paul Badger -
Changed lines 15-16 from:

The larger of the two numbers.

to:

The larger of the two parameter values.

November 04, 2007, at 05:24 AM by Paul Badger -
Changed line 18 from:

[@sensVal = max(senVal, 20); // assigns sensVal to the bigger of sensVal or 20

to:

[@sensVal = max(senVal, 20); // assigns sensVal to the larger of sensVal or 20

November 04, 2007, at 05:23 AM by Paul Badger -
Changed line 19 from:
```                             // (effectively ensuring that it is at least 20)
```
to:
```                           // (effectively ensuring that it is at least 20)
```
November 04, 2007, at 05:23 AM by Paul Badger -
Changed lines 18-19 from:

[@sensVal = max(senVal, 20); // assigns sensVal to the bigger of sensVal or 20 (effectively ensuring that it is at least 20)

to:

[@sensVal = max(senVal, 20); // assigns sensVal to the bigger of sensVal or 20

```                             // (effectively ensuring that it is at least 20)
```
April 16, 2007, at 06:05 PM by Paul Badger -
Changed line 26 from:
to:
April 16, 2007, at 09:12 AM by David A. Mellis -
Changed line 18 from:

[@sensVal = max(senVal, 20); // limits sensor value to at least 20

to:

[@sensVal = max(senVal, 20); // assigns sensVal to the bigger of sensVal or 20 (effectively ensuring that it is at least 20)

Deleted lines 20-24:

#### Tips

max is useful for limiting the range a variable (say reading a sensor) can move. Even though the name max would seem to suggest it should be used to limit the sensor's maximum value, its real effect is to limit the variable's lowest value. This can be slightly counterintuitive.

Programmers coming to C from the BASIC language may also expect max to affect a variable without assigning the returned result to anything.

April 15, 2007, at 03:49 AM by Paul Badger -
Changed lines 17-18 from:

#### Examples

[@sensVal = max(senVal, 20); // limits sensor value to 20 MINIMUM

to:

#### Example

[@sensVal = max(senVal, 20); // limits sensor value to at least 20

Changed lines 21-26 from:

#### Common Programming Errors

Paradoxically, even though max would seem to limit the desired variable to a maximum value, it is really used to set the minimum value to which a variable can descend.

Programmers coming to C from the BASIC language may expect max to affect a variable without assigning the returned result to anything

to:

#### Tips

max is useful for limiting the range a variable (say reading a sensor) can move. Even though the name max would seem to suggest it should be used to limit the sensor's maximum value, its real effect is to limit the variable's lowest value. This can be slightly counterintuitive.

Programmers coming to C from the BASIC language may also expect max to affect a variable without assigning the returned result to anything.

April 14, 2007, at 06:11 AM by Paul Badger -
Changed lines 9-12 from:

x: the first number

y: the second number

to:

x: the first number, any data type

y: the second number, any data type

Changed lines 15-16 from:

The bigger of the two numbers.

to:

The larger of the two numbers.

#### Examples

```sensVal = max(senVal, 20); // limits sensor value to 20 MINIMUM

```

#### Common Programming Errors

Paradoxically, even though max would seem to limit the desired variable to a maximum value, it is really used to set the minimum value to which a variable can descend.

Programmers coming to C from the BASIC language may expect max to affect a variable without assigning the returned result to anything

December 02, 2006, at 07:00 PM by David A. Mellis -
Changed lines 20-22 from:
to:
December 02, 2006, at 06:10 PM by David A. Mellis -

## max(x, y)

#### Description

Calculates the maximum of two numbers.

#### Parameters

x: the first number

y: the second number

#### Returns

The bigger of the two numbers.