5 * th9x - http://code.google.com/p/th9x
6 * er9x - http://code.google.com/p/er9x
7 * gruvin9x - http://code.google.com/p/gruvin9x
9 * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
21 #ifndef _OPENTX_HELPERS_H_
22 #define _OPENTX_HELPERS_H_
24 template<class t
> inline t
min(t a
, t b
) { return a
<b
?a
:b
; }
25 template<class t
> inline t
max(t a
, t b
) { return a
>b
?a
:b
; }
26 template<class t
> inline t
sgn(t a
) { return a
>0 ? 1 : (a
< 0 ? -1 : 0); }
27 template<class t
> inline t
limit(t mi
, t x
, t ma
) { return min(max(mi
,x
),ma
); }
28 template<class t
> inline void SWAP(t
& a
, t
& b
) { t tmp
= b
; b
= a
; a
= tmp
; }
30 #endif // _OPENTX_HELPERS_H_