X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fctables.c;h=57e547376ac639da1e1aec5a8a70802e12789d8d;hp=16c58fdc5bf35cc0b4cef86c285d5eb405d8c0fe;hb=bf868380ccff985a9eeb4e40f307118548411e7c;hpb=2501627caac743acbfcc97480f15344f8a393a6e diff --git a/src/language/stats/ctables.c b/src/language/stats/ctables.c index 16c58fdc5b..57e547376a 100644 --- a/src/language/stats/ctables.c +++ b/src/language/stats/ctables.c @@ -4691,29 +4691,31 @@ ctables_prepare_table (struct ctables_table *t) continue; } - size_t n_drop; + size_t n_drop = 0; bool drop_inner = false; - if (at == CTAT_SUBTABLE) + switch (at) { - if (t->clabels_from_axis != PIVOT_AXIS_LAYER) + 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 (t->clabels_to_axis != PIVOT_AXIS_LAYER) - n_drop = a == t->clabels_from_axis ? 2 : 0; - else - { - drop_inner = a == t->clabels_from_axis; - n_drop = a != t->clabels_from_axis && a != PIVOT_AXIS_LAYER; - } + drop_inner = a == t->clabels_from_axis; + n_drop = a != t->clabels_from_axis && a != PIVOT_AXIS_LAYER; } - else - n_drop = a != PIVOT_AXIS_LAYER; - } - else if (at == CTAT_LAYERROW) - n_drop = a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_ROW] == PIVOT_AXIS_COLUMN; - else if (at == CTAT_LAYERCOL) - n_drop = a == PIVOT_AXIS_COLUMN && t->label_axis[PIVOT_AXIS_COLUMN] == PIVOT_AXIS_ROW; - else if (at == CTAT_ROW) - { + break; + + case CTAT_LAYERROW: + n_drop = a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_ROW] == PIVOT_AXIS_COLUMN; + break; + + case CTAT_LAYERCOL: + n_drop = a == PIVOT_AXIS_COLUMN && t->label_axis[PIVOT_AXIS_COLUMN] == PIVOT_AXIS_ROW; + break; + + case CTAT_ROW: if (a == PIVOT_AXIS_COLUMN && t->label_axis[PIVOT_AXIS_ROW] == PIVOT_AXIS_COLUMN) n_drop = 0; else if (a == PIVOT_AXIS_COLUMN && t->label_axis[PIVOT_AXIS_COLUMN] == PIVOT_AXIS_ROW) @@ -4732,28 +4734,33 @@ ctables_prepare_table (struct ctables_table *t) if (a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_ROW] == PIVOT_AXIS_COLUMN) n_drop++; } - } - else if (at == CTAT_COL && a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_ROW] == PIVOT_AXIS_COLUMN) - { - drop_inner = true; - n_drop = 0; - } - else if (at == CTAT_COL && a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_COLUMN] == PIVOT_AXIS_ROW) - n_drop = 0; - else if (at == CTAT_COL && a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_ROW] == PIVOT_AXIS_LAYER) - { - drop_inner = true; - n_drop = 0; - } - else if (at == CTAT_COL) - { - n_drop = a == PIVOT_AXIS_ROW; - if (a == PIVOT_AXIS_COLUMN && t->label_axis[PIVOT_AXIS_COLUMN] == PIVOT_AXIS_ROW) - n_drop++; - } - else - { + break; + + case CTAT_COL: + if (a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_ROW] == PIVOT_AXIS_COLUMN) + { + drop_inner = true; + n_drop = 0; + } + else if (a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_COLUMN] == PIVOT_AXIS_ROW) + n_drop = 0; + else if (a == PIVOT_AXIS_ROW && t->label_axis[PIVOT_AXIS_ROW] == PIVOT_AXIS_LAYER) + { + drop_inner = true; + n_drop = 0; + } + else + { + n_drop = a == PIVOT_AXIS_ROW; + if (a == PIVOT_AXIS_COLUMN && t->label_axis[PIVOT_AXIS_COLUMN] == PIVOT_AXIS_ROW) + n_drop++; + } + break; + + case CTAT_LAYER: + case CTAT_TABLE: n_drop = 0; + break; } if (drop_inner)