summaryrefslogtreecommitdiffstats
path: root/Macros.h
diff options
context:
space:
mode:
authorNathan Scott <nathans@redhat.com>2020-09-09 16:56:04 +1000
committerNathan Scott <nathans@redhat.com>2020-09-09 16:56:04 +1000
commitc5808c56db166528ae7e74cedb51cc466f973b9f (patch)
treeb0364c031595aacc8db222885bebb8390983429e /Macros.h
parent8ec5d4a3a07fe9a3c556a4abeac6645a7bb2235e (diff)
Consolidate repeated macro definitions into one header
The MIN, MAX, CLAMP, MINIMUM, and MAXIMUM macros appear throughout the codebase with many re-definitions. Make a single copy of each in a common header file, and use the BSD variants of MINIMUM/MAXIMUM due to conflicts in the system <sys/param.h> headers.
Diffstat (limited to 'Macros.h')
-rw-r--r--Macros.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/Macros.h b/Macros.h
new file mode 100644
index 00000000..cb84b291
--- /dev/null
+++ b/Macros.h
@@ -0,0 +1,16 @@
+#ifndef HEADER_Macros
+#define HEADER_Macros
+
+#ifndef MINIMUM
+#define MINIMUM(a, b) ((a) < (b) ? (a) : (b))
+#endif
+
+#ifndef MAXIMUM
+#define MAXIMUM(a, b) ((a) > (b) ? (a) : (b))
+#endif
+
+#ifndef CLAMP
+#define CLAMP(x, low, high) (((x) > (high)) ? (high) : MAXIMUM(x, low))
+#endif
+
+#endif

© 2014-2024 Faster IT GmbH | imprint | privacy policy