17 lines
372 B
C
17 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;\
|
||
|
|
}
|