static struct sort_criteria *sc;
-static struct variable **group_vars;
+static const struct variable **group_vars;
static size_t n_group_vars;
-static struct variable **src_vars;
+static const struct variable **src_vars;
static size_t n_src_vars;
criteria.crits = xnmalloc (criteria.crit_cnt, sizeof *criteria.crits);
for (i = 0; i < n_splits ; i++)
{
- struct variable *v = dict_get_split_vars (dataset_dict (ds))[i];
+ const struct variable *v = dict_get_split_vars (dataset_dict (ds))[i];
criteria.crits[i].fv = var_get_case_index (v);
criteria.crits[i].width = var_get_width (v);
criteria.crits[i].dir = SRT_ASCEND;
{
struct casereader *lookahead;
const union value *this_value;
+ bool this_value_is_missing;
struct ccase this_case, lookahead_case;
double c;
int i;
break;
this_value = case_data_idx (&this_case, fv);
+ this_value_is_missing = mv_is_value_missing (mv, this_value,
+ exclude_values);
c = dict_get_case_weight (dict, &this_case, &warn);
lookahead = casereader_clone (cr);
casereader_destroy (lookahead);
cc_1 = cc;
- if ( !mv_is_value_missing (mv, this_value, exclude_values) )
+ if ( !this_value_is_missing )
cc += c;
do
{
const struct variable *dst_var = rs[i].destvars[dest_var_index];
- if ( mv_is_value_missing (mv, this_value, exclude_values) )
+ if (this_value_is_missing)
case_data_rw (&this_case, dst_var)->f = SYSMIS;
else
case_data_rw (&this_case, dst_var)->f =
}
while (n-- > 0 && casereader_read_xfer (cr, &this_case));
- if ( !mv_is_value_missing (mv, this_value, exclude_values) )
+ if ( !this_value_is_missing )
iter++;
}
return 2;
}
- if (!parse_variables (lexer, dataset_dict (ds),
+ if (!parse_variables_const (lexer, dataset_dict (ds),
&group_vars, &n_group_vars,
PV_NO_DUPLICATE | PV_NO_SCRATCH) )
{