#include "output/charts/barchart.h"
#include "gl/minmax.h"
+#include "gl/xalloc-oversized.h"
#include "gl/xalloc.h"
#include "gl/xsize.h"
else if (lex_match_id (lexer, "INCLUDE"))
proc.exclude = MV_SYSTEM;
else if (lex_match_id (lexer, "REPORT"))
- proc.exclude = MV_NEVER;
+ proc.exclude = 0;
else
{
lex_error (lexer, NULL);
assert (proc.n_cells < CRS_N_CELLS);
/* Missing values. */
- if (proc.mode == GENERAL && proc.exclude == MV_NEVER)
+ if (proc.mode == GENERAL && !proc.exclude)
{
msg (SE, _("Missing mode %s not allowed in general mode. "
"Assuming %s."), "REPORT", "MISSING=TABLE");
}
}
- int *by_iter = xcalloc (n_by, sizeof *by_iter);
+ int *by_iter = XCALLOC (n_by, int);
proc->pivots = xnrealloc (proc->pivots,
proc->n_pivots + nx, sizeof *proc->pivots);
for (int i = 0; i < nx; i++)
for (;;)
{
size_t orig_nv = proc->n_variables;
- size_t i;
-
- long min, max;
if (!parse_variables_const (lexer, dataset_dict (ds),
&proc->variables, &proc->n_variables,
if (!lex_force_int (lexer))
goto error;
- min = lex_integer (lexer);
+ long min = lex_integer (lexer);
lex_get (lexer);
lex_match (lexer, T_COMMA);
- if (!lex_force_int (lexer))
+ if (!lex_force_int_range (lexer, NULL, min, LONG_MAX))
goto error;
- max = lex_integer (lexer);
- if (max < min)
- {
- msg (SE, _("Maximum value (%ld) less than minimum value (%ld)."),
- max, min);
- goto error;
- }
+ long max = lex_integer (lexer);
lex_get (lexer);
if (!lex_force_match (lexer, T_RPAREN))
goto error;
- for (i = orig_nv; i < proc->n_variables; i++)
+ for (size_t i = orig_nv; i < proc->n_variables; i++)
{
const struct variable *var = proc->variables[i];
struct var_range *vr = xmalloc (sizeof *vr);
const struct variable *var = xt->vars[j].var;
const struct var_range *range = get_var_range (xt->proc, var);
- if (var_is_value_missing (var, case_data (c, var), exclude))
+ if (var_is_value_missing (var, case_data (c, var)) & exclude)
return false;
if (range != NULL)
if (proc->barchart)
{
int n_vars = (xt->n_vars > 2 ? 2 : xt->n_vars);
- const struct variable **vars = xcalloc (n_vars, sizeof *vars);
+ const struct variable **vars = XCALLOC (n_vars, const struct variable*);
for (size_t i = 0; i < n_vars; i++)
vars[i] = xt->vars[i].var;
chart_submit (barchart_create (vars, n_vars, _("Count"),
if (table)
display_crosstabulation (proc, &x, table, crs_leaves);
- if (proc->exclude == MV_NEVER)
+ if (proc->exclude == 0)
delete_missing (&x);
if (chisq)
{
struct pivot_value *value = pivot_value_new_var_value (
var->var, &var->values[j]);
- if (var_is_value_missing (var->var, &var->values[j], MV_ANY))
+ if (var_is_value_missing (var->var, &var->values[j]))
pivot_value_add_footnote (value, missing_footnote);
pivot_category_create_leaf (group, value);
}
for (r = 0; r < n_rows; r++)
if (var_is_num_missing (xt->vars[ROW_VAR].var,
- xt->vars[ROW_VAR].values[r].f, MV_USER))
+ xt->vars[ROW_VAR].values[r].f) == MV_USER)
{
for (c = 0; c < n_cols; c++)
xt->mat[c + r * n_cols] = 0.;
for (c = 0; c < n_cols; c++)
if (var_is_num_missing (xt->vars[COL_VAR].var,
- xt->vars[COL_VAR].values[c].f, MV_USER))
+ xt->vars[COL_VAR].values[c].f) == MV_USER)
{
for (r = 0; r < n_rows; r++)
xt->mat[c + r * n_cols] = 0.;
double expected_value = xt->row_tot[r] * xt->col_tot[c] / xt->total;
double residual = *mp - expected_value;
double sresidual = residual / sqrt (expected_value);
- double asresidual = (sresidual
+ double asresidual
+ = residual / sqrt (expected_value
* (1. - xt->row_tot[r] / xt->total)
* (1. - xt->col_tot[c] / xt->total));
double entries[CRS_N_CELLS] = {
union value c[2];
if (!calc_risk (xt, risk_v, upper, lower, c, &n_valid))
return;
+ assert (risk_statistics);
size_t *indexes = xnmalloc (risk->n_dimensions, sizeof *indexes);
assert (xt->n_vars == 2);
return 1;
}
-
-/*
- Local Variables:
- mode: c
- End:
-*/