summaryrefslogtreecommitdiff
path: root/src/macro.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/macro.h')
-rw-r--r--src/macro.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/macro.h b/src/macro.h
index 12ccbb1513..b3da60f13e 100644
--- a/src/macro.h
+++ b/src/macro.h
@@ -57,19 +57,29 @@ static inline size_t PAGE_ALIGN(size_t l) {
#define ELEMENTSOF(x) (sizeof(x)/sizeof((x)[0]))
+#ifndef MAX
#define MAX(a,b) \
__extension__ ({ \
typeof(a) _a = (a); \
typeof(b) _b = (b); \
_a > _b ? _a : _b; \
})
+#endif
+
+#define MAX3(a,b,c) \
+ MAX(MAX(a,b),c)
+#ifndef MIN
#define MIN(a,b) \
__extension__ ({ \
typeof(a) _a = (a); \
typeof(b) _b = (b); \
_a < _b ? _a : _b; \
})
+#endif
+
+#define MIN3(a,b,c) \
+ MIN(MIN(a,b),c)
#define CLAMP(x, low, high) \
__extension__ ({ \