2021-02-22 21:44:20 +01:00
|
|
|
#ifndef T1M_UTIL_H
|
|
|
|
#define T1M_UTIL_H
|
2021-02-08 01:18:57 +01:00
|
|
|
|
2021-02-28 21:21:32 +01:00
|
|
|
#define SQUARE(A) ((A) * (A))
|
|
|
|
#ifndef ABS
|
|
|
|
#define ABS(x) (((x) < 0) ? (-(x)) : (x))
|
|
|
|
#define MIN(x, y) ((x) <= (y) ? (x) : (y))
|
|
|
|
#define MAX(x, y) ((x) >= (y) ? (x) : (y))
|
|
|
|
#endif
|
|
|
|
#define CHK_ALL(a, b) (((a) & (b)) == (b))
|
|
|
|
#define CHK_ANY(a, b) (((a) & (b)) != 0)
|
|
|
|
|
2021-02-28 21:25:35 +01:00
|
|
|
#define CLAMPL(a, b) \
|
|
|
|
do { \
|
|
|
|
if ((a) < (b)) \
|
|
|
|
(a) = (b); \
|
|
|
|
} while (0)
|
|
|
|
#define CLAMPG(a, b) \
|
|
|
|
do { \
|
|
|
|
if ((a) > (b)) \
|
|
|
|
(a) = (b); \
|
|
|
|
} while (0)
|
|
|
|
#define CLAMP(a, b, c) \
|
|
|
|
do { \
|
|
|
|
if ((a) < (b)) \
|
|
|
|
(a) = (b); \
|
|
|
|
else if ((a) > (c)) \
|
|
|
|
(a) = (c); \
|
|
|
|
} while (0)
|
|
|
|
#define SWAP(a, b, c) \
|
|
|
|
do { \
|
|
|
|
(c) = (a); \
|
|
|
|
(a) = (b); \
|
|
|
|
(b) = (c); \
|
|
|
|
} while (0)
|
|
|
|
|
2021-02-08 01:18:57 +01:00
|
|
|
#endif
|