Next: Approximate Comparison of Floating Point Numbers, Previous: Testing for Odd and Even Numbers, Up: Mathematical Functions [Index]

Note that the following macros perform multiple evaluations of their arguments, so they should not be used with arguments that have side effects (such as a call to a random number generator).

- Macro:
**GSL_MAX***(a, b)* -
This macro returns the maximum of

`a`and`b`. It is defined as`((a) > (b) ? (a):(b))`

.

- Macro:
**GSL_MIN***(a, b)* -
This macro returns the minimum of

`a`and`b`. It is defined as`((a) < (b) ? (a):(b))`

.

- Function:
*extern inline double***GSL_MAX_DBL***(double*`a`, double`b`) This function returns the maximum of the double precision numbers

`a`and`b`using an inline function. The use of a function allows for type checking of the arguments as an extra safety feature. On platforms where inline functions are not available the macro`GSL_MAX`

will be automatically substituted.

- Function:
*extern inline double***GSL_MIN_DBL***(double*`a`, double`b`) This function returns the minimum of the double precision numbers

`a`and`b`using an inline function. The use of a function allows for type checking of the arguments as an extra safety feature. On platforms where inline functions are not available the macro`GSL_MIN`

will be automatically substituted.

- Function:
*extern inline int***GSL_MAX_INT***(int*`a`, int`b`) - Function:
*extern inline int***GSL_MIN_INT***(int*`a`, int`b`) These functions return the maximum or minimum of the integers

`a`and`b`using an inline function. On platforms where inline functions are not available the macros`GSL_MAX`

or`GSL_MIN`

will be automatically substituted.

- Function:
*extern inline long double***GSL_MAX_LDBL***(long double*`a`, long double`b`) - Function:
*extern inline long double***GSL_MIN_LDBL***(long double*`a`, long double`b`) These functions return the maximum or minimum of the long doubles

`a`and`b`using an inline function. On platforms where inline functions are not available the macros`GSL_MAX`

or`GSL_MIN`

will be automatically substituted.