rank_savage
};
+static enum measure rank_measures[n_RANK_FUNCS] = {
+ [RANK] = MEASURE_ORDINAL,
+ [NORMAL] = MEASURE_ORDINAL,
+ [PERCENT] = MEASURE_ORDINAL,
+ [RFRACTION] = MEASURE_ORDINAL,
+ [PROPORTION] = MEASURE_ORDINAL,
+ [N] = MEASURE_SCALE,
+ [NTILES] = MEASURE_ORDINAL,
+ [SAVAGE] = MEASURE_ORDINAL,
+};
enum ties
{
{
free (rank->vars);
free (rank->group_vars);
- subcase_destroy (&rank->sc);
+ subcase_uninit (&rank->sc);
pool_destroy (rank->pool);
}
/* Do ranking. */
subcase_init (&input_var, 0, 0, SC_ASCEND);
tie_grouper = casegrouper_create_subcase (input, &input_var);
- subcase_destroy (&input_var);
+ subcase_uninit (&input_var);
for (; casegrouper_get_next_group (tie_grouper, &tied_cases);
casereader_destroy (tied_cases))
{
for (i = 0; i < cmd->n_vars; i++)
outputs[i] = sort_create_writer (&by_order, output_proto);
- subcase_destroy (&by_order);
+ subcase_uninit (&by_order);
caseproto_unref (output_proto);
}
else
weight_idx = -1;
input_pass = casereader_project (input_pass, &projection);
- subcase_destroy (&projection);
+ subcase_uninit (&projection);
/* Prepare 'group_vars' as the set of grouping variables. */
subcase_init_empty (&group_vars);
var_get_width (dict_get_split_vars (d)[j]),
SC_ASCEND);
split_grouper = casegrouper_create_subcase (input_pass, &split_vars);
- subcase_destroy (&split_vars);
+ subcase_uninit (&split_vars);
while (casegrouper_get_next_group (split_grouper, &split_group))
{
struct casereader *ordered;
rank_sorted_file (by_group, outputs[i], weight_idx, cmd);
ok = casegrouper_destroy (by_grouper) && ok;
}
- subcase_destroy (&group_vars);
- subcase_destroy (&rank_ordering);
+ subcase_uninit (&group_vars);
+ subcase_uninit (&rank_ordering);
ok = casegrouper_destroy (split_grouper) && ok;
}
var = dict_create_var_assert (d, rs->dest_names[i], 0);
var_set_both_formats (var, &dest_format[rs->rfunc]);
var_set_label (var, rs->dest_labels[i]);
+ var_set_measure (var, rank_measures[rs->rfunc]);
iv->output_vars[j] = var;
}