#define CTYPE(isfoobar,ch) (isfoobar((unsigned char)(ch)))
#define COMMA ,
+#define MAX(a_,b_) ({ typeof(a_) a=(a_); typeof(b_) b=(b_); a >= b ? a : b; })
+#define MIN(a_,b_) ({ typeof(a_) a=(a_); typeof(b_) b=(b_); a <= b ? a : b; })
+#define ENSURE(var,rel,value_) do{ \
+ typeof(value_) value= (value_); \
+ if ((var) rel value) ; else (var)= value; \
+ }while(0)
+
#define STR2(x) #x
#define STR(x) STR2(x)