# InlineOps.h File Reference

## Defines
#define | macroClampValue(value, kMin, kMax)
#define | macroClampNewValue(newValue, kValue, kMin, kMax)
#define | macroUpdateMinMax(kValue, min, max)
#define | macroUpdateValidMinMax(kValue, min, max)
#define | macroMin(kVal0, kVal1) ( ((kVal0) < (kVal1)) ? kVal0 : kVal1 )
#define | macroMax(kVal0, kVal1) ( ((kVal0) > (kVal1)) ? kVal0 : kVal1 )
#define | macroSwap(val0, val1, swapSpace) { (swapSpace) = (val0), (val0) = (val1), (val1) = (swapSpace); }
#define | macroSwapInt(val0, val1) { (val0) ^= (val1); (val1) ^= (val0); (val0) ^= (val1); }
#define | macroLogicalXor(kVal0, kVal1) (( kVal0 ) ? !(kVal1) : (kVal1))
#define | macroIsOdd(kVal) (((kVal) % 2) == 1 )
#define | macroIsEven(kVal) (((kVal) % 2) == 0 )
#define | macroIsClose(kVal0, kVal1, kTolerance) ((((kVal0) - (kVal1))>0)?((kVal0) - (kVal1)) <= (kTolerance) :((kVal1) - (kVal0)) <= (kTolerance))

## Define Documentation

#define macroClampNewValue | ( | newValue,
|  | kValue,
|  | kMin,
|  | kMax |  | ) |

Value:

    {                                                                                                       \
                            if ( (kValue) < (kMin) )                                                \
                                    (newValue) = (kMin);                                            \
                            else if ( (kValue) > (kMax) )                                   \
                                    (newValue) = (kMax);                                            \
                            else                                                                                    \
                                    (newValue) = (kValue);                                          \
                    }

#define macroClampValue | ( | value,
|  | kMin,
|  | kMax |  | ) |

Value:

    {                                                                               \
                            if ( (value) < (kMin) )                         \
                                    (value) = (kMin);                               \
                            else if ( (value) > (kMax) )            \
                                    (value) = (kMax);                               \
                    }

#define macroIsClose | ( | kVal0,
|  | kVal1,
|  | kTolerance |  | ) | ((((kVal0) - (kVal1))>0)?((kVal0) - (kVal1)) <= (kTolerance) :((kVal1) - (kVal0)) <= (kTolerance))

#define macroIsEven | ( | kVal |  | ) | (((kVal) % 2) == 0 )

#define macroIsOdd | ( | kVal |  | ) | (((kVal) % 2) == 1 )

#define macroLogicalXor | ( | kVal0,
|  | kVal1 |  | ) | (( kVal0 ) ? !(kVal1) : (kVal1))

#define macroMax | ( | kVal0,
|  | kVal1 |  | ) | ( ((kVal0) > (kVal1)) ? kVal0 : kVal1 )

#define macroMin | ( | kVal0,
|  | kVal1 |  | ) | ( ((kVal0) < (kVal1)) ? kVal0 : kVal1 )

#define macroSwap | ( | val0,
|  | val1,
|  | swapSpace |  | ) | { (swapSpace) = (val0), (val0) = (val1), (val1) = (swapSpace); }

#define macroSwapInt | ( | val0,
|  | val1 |  | ) | { (val0) ^= (val1); (val1) ^= (val0); (val0) ^= (val1); }

#define macroUpdateMinMax | ( | kValue,
|  | min,
|  | max |  | ) |

Value:

    {                                                                               \
                            if ( (min) > (kValue) )                         \
                                     (min) = (kValue);                              \
                            if ( (max) < (kValue) )                         \
                                     (max) = (kValue);                              \
                    }

#define macroUpdateValidMinMax | ( | kValue,
|  | min,
|  | max |  | ) |

Value:

    {                                                                                       \
                            if ( (max) < (kValue) )                                 \
                                    (max) = (kValue);                                       \
                            else if ( (min) > (kValue) )                    \
                                    (min) = (kValue);                                       \
                    }