switch (at)
{
case CTAT_SUBTABLE:
- if (t->clabels_from_axis == PIVOT_AXIS_LAYER)
- n_drop = a != PIVOT_AXIS_LAYER;
- else if (t->clabels_to_axis != PIVOT_AXIS_LAYER)
- n_drop = a == t->clabels_from_axis ? 2 : 0;
- else if (a == t->clabels_from_axis)
- n_drop = -1;
- else
- n_drop = a != PIVOT_AXIS_LAYER;
+#define L PIVOT_AXIS_LAYER
+ n_drop = (t->clabels_from_axis == L ? a != L
+ : t->clabels_to_axis != L ? (a == t->clabels_from_axis ? 2 : 0)
+ : a == t->clabels_from_axis ? -1
+ : a != L);
+#undef L
break;
case CTAT_LAYERROW:
case CTAT_ROW:
case CTAT_COL:
- if (a == ata)
- n_drop = t->label_axis[ata] == atb;
- else if (a != atb)
- n_drop = 0;
- else if (t->clabels_from_axis == atb)
- n_drop = -1;
- else if (t->clabels_to_axis != atb)
- n_drop = 1;
- else
- n_drop = 0;
+ n_drop = (a == ata ? t->label_axis[ata] == atb
+ : a != atb ? 0
+ : t->clabels_from_axis == atb ? -1
+ : t->clabels_to_axis != atb ? 1
+ : 0);
break;
case CTAT_LAYER: