This macro calculates abs(a - b). It is especially useful for unsigned numbers. Signed-off-by: Sean Anderson <seanga2@xxxxxxxxx> --- (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