From d7866058df83689d43efea99ba3beb5146b17e63 Mon Sep 17 00:00:00 2001 From: mux Date: Sun, 23 Feb 2014 23:12:15 +0200 Subject: [PATCH] Type safe MIN/MAX --- py/misc.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/py/misc.h b/py/misc.h index 278d59d4faa9f..7f42a781ec079 100644 --- a/py/misc.h +++ b/py/misc.h @@ -13,10 +13,17 @@ typedef unsigned int uint; /** generic ops *************************************************/ #ifndef MIN -#define MIN(x, y) ((x) < (y) ? (x) : (y)) +#define MIN(a,b) \ + ({ __typeof__ (a) _a = (a); \ + __typeof__ (b) _b = (b); \ + _a < _b ? _a : _b; }) #endif + #ifndef MAX -#define MAX(x, y) ((x) > (y) ? (x) : (y)) +#define MAX(a,b) \ + ({ __typeof__ (a) _a = (a); \ + __typeof__ (b) _b = (b); \ + _a > _b ? _a : _b; }) #endif /** memomry allocation ******************************************/