RosettaCodeData/Task/Extend-your-language/C/extend-your-language-1.c
Ingy döt Net 764da6cbbb CDE
2013-04-10 16:57:12 -07:00

16 lines
372 B
C

/* Four-way branch.
*
* if2 (firsttest, secondtest
* , bothtrue
* , firstrue
* , secondtrue
* , bothfalse
* )
*/
#define if2(firsttest,secondtest,bothtrue,firsttrue,secondtrue,bothfalse)\
switch(((firsttest)?0:2)+((secondtest)?0:1)) {\
case 0: bothtrue; break;\
case 1: firsttrue; break;\
case 2: secondtrue; break;\
case 3: bothfalse; break;\
}