26 |
|
|
27 |
#include <math.h> |
#include <math.h> |
28 |
|
|
29 |
|
typedef float real_t; |
30 |
|
typedef real_t clamp_t; |
31 |
|
|
32 |
|
#define MOD(a,max) \ |
33 |
|
({typeof(a) _MOD_a = (a); typeof(max) _MOD_max = (max); \ |
34 |
|
if (_MOD_a >= _MOD_max || _MOD_a < 0) \ |
35 |
|
_MOD_a = _MOD_a - _MOD_max * (int)(_MOD_a / _MOD_max); \ |
36 |
|
if (_MOD_a < 0) \ |
37 |
|
_MOD_a += _MOD_max; \ |
38 |
|
_MOD_a; }) |
39 |
|
|
40 |
#define SWAP(a,b) \ |
#define SWAP(a,b) \ |
41 |
({typeof(a) _SWAP_aux = (a); \ |
({typeof(a) _SWAP_aux = (a); \ |
42 |
(a) = (b); (b) = _SWAP_aux; }) |
(a) = (b); (b) = _SWAP_aux; }) |