include/c: Add abs_diff macro

This macro calculates abs(a - b). It is especially useful for unsigned
numbers.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
pull/1528/head
Sean Anderson 10 months ago committed by Karel Zak
parent 9a1b1f82b7
commit adc21ee18f
  1. 8
      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); \

Loading…
Cancel
Save