chiark / gitweb /
new macros MIN MAX ENSURE
authorian <ian>
Sat, 26 Jul 2008 16:35:58 +0000 (16:35 +0000)
committerian <ian>
Sat, 26 Jul 2008 16:35:58 +0000 (16:35 +0000)
hostside/common.h

index d0c0a8b657dc722a2540b18b6efdb53e6c11ea6f..0c9bb412849a07a43fc41938a8007d7506aa208b 100644 (file)
@@ -167,6 +167,13 @@ void nmra_encodeforpic(const Nmra *packet, PicInsn *pi_out);
 #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)