refactoring?
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 14 Aug 2022 06:37:34 +0000 (23:37 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 14 Aug 2022 06:46:32 +0000 (23:46 -0700)
src/language/stats/ctables.c

index e78c0cf169d504524636a41db64c4aca40d55c7d..2b8636581d0bb07eb044b4206b3ad3cdb3bf3838 100644 (file)
@@ -4706,14 +4706,12 @@ ctables_prepare_table (struct ctables_table *t)
                 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:
@@ -4723,16 +4721,11 @@ ctables_prepare_table (struct ctables_table *t)
 
                   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: