/* PSPP - computes sample statistics.
Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
- Written by Ben Pfaff <blp@gnu.org>.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
struct variable **vars;
size_t var_cnt;
- /* Count special values?. */
+ /* Count special values? */
bool count_system_missing; /* Count system missing? */
bool count_user_missing; /* Count user missing? */
dv->var = dict_lookup_var (dataset_dict (ds), lex_tokid (lexer));
if (dv->var != NULL)
{
- if (dv->var->type == ALPHA)
+ if (var_is_alpha (dv->var))
{
msg (SE, _("Destination cannot be a string variable."));
goto fail;
goto fail;
crit->value_cnt = 0;
- if (crit->vars[0]->type == NUMERIC)
+ if (var_is_numeric (crit->vars[0]))
ok = parse_numeric_criteria (lexer, trns->pool, crit);
else
ok = parse_string_criteria (lexer, trns->pool, crit);
size_t i;
for (i = 0; i < crit->var_cnt; i++)
- if (crit->vars[i]->width > len)
- len = crit->vars[i]->width;
+ if (var_get_width (crit->vars[i]) > len)
+ len = var_get_width (crit->vars[i]);
crit->values.str = NULL;
for (;;)
for (i = 0; i < crit->var_cnt; i++)
{
- double x = case_num (c, crit->vars[i]->fv);
- if (x == SYSMIS)
- counter += crit->count_system_missing;
- else if (crit->count_user_missing
- && mv_is_num_user_missing (&crit->vars[i]->miss, x))
- counter++;
+ double x = case_num (c, crit->vars[i]);
+ if (var_is_num_missing (crit->vars[i], x, MV_ANY))
+ {
+ if (x == SYSMIS
+ ? crit->count_system_missing
+ : crit->count_user_missing)
+ counter++;
+ }
else
{
struct num_value *v;
{
char **v;
for (v = crit->values.str; v < crit->values.str + crit->value_cnt; v++)
- if (!memcmp (case_str (c, crit->vars[i]->fv), *v,
- crit->vars[i]->width))
+ if (!memcmp (case_str (c, crit->vars[i]), *v,
+ var_get_width (crit->vars[i])))
{
counter++;
break;
counter = 0;
for (crit = dv->crit; crit; crit = crit->next)
- if (crit->vars[0]->type == NUMERIC)
+ if (var_is_numeric (crit->vars[0]))
counter += count_numeric (crit, c);
else
counter += count_string (crit, c);
- case_data_rw (c, dv->var->fv)->f = counter;
+ case_data_rw (c, dv->var)->f = counter;
}
return TRNS_CONTINUE;
}