From 390653acfb47664ffebe07a6928fa6b0fc18f4e8 Mon Sep 17 00:00:00 2001 From: Damien Lespiau Date: Tue, 30 Jun 2015 00:15:15 +0100 Subject: aux: Don't evaluate several times the arguments of min() and max() Signed-off-by: Damien Lespiau --- lib/igt_aux.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'lib/igt_aux.h') diff --git a/lib/igt_aux.h b/lib/igt_aux.h index 9ea50de2..2979314a 100644 --- a/lib/igt_aux.h +++ b/lib/igt_aux.h @@ -91,8 +91,16 @@ void intel_require_memory(uint32_t count, uint32_t size, unsigned mode); #define CHECK_SWAP 0x2 -#define min(a, b) ((a) < (b) ? (a) : (b)) -#define max(a, b) ((a) > (b) ? (a) : (b)) +#define min(a, b) ({ \ + typeof(a) _a = (a); \ + typeof(b) _b = (b); \ + _a < _b ? _a : _b; \ +}) +#define max(a, b) ({ \ + typeof(a) _a = (a); \ + typeof(b) _b = (b); \ + _a > _b ? _a : _b; \ +}) #define igt_swap(a, b) do { \ typeof(a) _tmp = (a); \ -- cgit v1.2.3