21 lines
852 B
C
21 lines
852 B
C
#ifndef MACROS_H
|
|
#define MACROS_H
|
|
|
|
#define MIN(a, b) ((a) < (b) ? (a) : (b))
|
|
#define MAX(a, b) ((a) < (b) ? (b) : (a))
|
|
#define LEN(a) (sizeof(a) / sizeof(a)[0])
|
|
#define BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b))
|
|
#define DIVCEIL(n, d) (((n) + ((d)-1)) / (d))
|
|
#define DEFAULT(a, b) (a) = (a) ? (a) : (b)
|
|
#define LIMIT(x, a, b) (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x)
|
|
#define ATTRCMP(a, b) \
|
|
((a).mode != (b).mode || (a).fg != (b).fg || (a).bg != (b).bg)
|
|
#define TIMEDIFF(t1, t2) \
|
|
((t1.tv_sec - t2.tv_sec) * 1000 + (t1.tv_nsec - t2.tv_nsec) / 1E6)
|
|
#define MODBIT(x, set, bit) ((set) ? ((x) |= (bit)) : ((x) &= ~(bit)))
|
|
|
|
#define TRUECOLOR(r, g, b) (1 << 24 | (r) << 16 | (g) << 8 | (b))
|
|
#define IS_TRUECOL(x) (1 << 24 & (x))
|
|
|
|
#endif
|