[prev in list] [next in list] [prev in thread] [next in thread]
List: util-linux-ng
Subject: [PATCH 1/5] include/c: Add abs_diff macro
From: Sean Anderson <seanga2 () gmail ! com>
Date: 2021-11-17 2:10:34
Message-ID: 20211117021038.823851-2-seanga2 () gmail ! com
[Download RAW message or body]
This macro calculates abs(a - b). It is especially useful for unsigned
numbers.
Signed-off-by: Sean Anderson <seanga2@gmail.com>
---
include/c.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/c.h b/include/c.h
index 354b59e29..ba799d8fd 100644
--- a/include/c.h
+++ b/include/c.h
@@ -159,6 +159,14 @@
_max1 > _max2 ? _max1 : _max2; })
#endif
+#ifndef abs_diff
+# define abs_diff(x, y) __extension__ ({ \
+ __typeof__(x) _a = (x); \
+ __typeof__(y) _b = (y); \
+ (void) (&_a == &_b); \
+ _a > _b ? _a - _b : _b - _a; })
+#endif
+
#ifndef cmp_numbers
# define cmp_numbers(x, y) __extension__ ({ \
__typeof__(x) _a = (x); \
--
2.33.0
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic