[prev in list] [next in list] [prev in thread] [next in thread]
List: util-linux-ng
Subject: [PATCH v2 1/6] include/c: Add abs_diff macro
From: Sean Anderson <seanga2 () gmail ! com>
Date: 2021-11-24 18:26:13
Message-ID: 20211124182618.1801447-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>
---
(no changes since v1)
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