X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdescript.q;h=9ac10325fffe72c656be79ff3e28f1609a0644f5;hb=74a57f26f1458b28a0fddbb9f46004ac8f4d9c30;hp=69134aef521087642af516bfe0761b958baca0b1;hpb=3a7fba81ceae5b049d0f7d671e9e3c3c43bbf703;p=pspp diff --git a/src/descript.q b/src/descript.q index 69134aef52..9ac10325ff 100644 --- a/src/descript.q +++ b/src/descript.q @@ -30,7 +30,6 @@ #include "command.h" #include "lexer.h" #include "error.h" -#include "approx.h" #include "magic.h" #include "stats.h" #include "som.h" @@ -178,9 +177,9 @@ static void dump_z_table (void); static void run_z_pass (void); /* Procedure execution functions. */ -static int calc (struct ccase *); -static void precalc (void); -static void postcalc (void); +static int calc (struct ccase *, void *); +static void precalc (void *); +static void postcalc (void *); static void display (void); /* Parser and outline. */ @@ -194,8 +193,6 @@ cmd_descriptives (void) v_variables = NULL; n_variables = 0; - lex_match_id ("DESCRIPTIVES"); - lex_match_id ("CONDESCRIPTIVES"); if (!parse_descriptives (&cmd)) goto lossage; @@ -289,7 +286,7 @@ cmd_descriptives (void) /* Data pass! */ bad_weight = 0; - procedure (precalc, calc, postcalc); + procedure_with_splits (precalc, calc, postcalc, NULL); if (bad_weight) msg (SW, _("At least one case in the data file had a weight value " @@ -312,7 +309,7 @@ cmd_descriptives (void) /* Parses the VARIABLES subcommand. */ static int -dsc_custom_variables (struct cmd_descriptives *cmd unused) +dsc_custom_variables (struct cmd_descriptives *cmd UNUSED) { if (!lex_match_id ("VARIABLES") && (token != T_ID || dict_lookup_var (default_dict, tokid) == NULL) @@ -477,7 +474,8 @@ dump_z_table (void) /* Transformation function to calculate Z-scores. */ static int -descriptives_trns_proc (struct trns_header * trns, struct ccase * c) +descriptives_trns_proc (struct trns_header * trns, struct ccase * c, + int case_num UNUSED) { struct descriptives_trns *t = (struct descriptives_trns *) trns; struct dsc_z_score *z; @@ -539,9 +537,9 @@ run_z_pass (void) struct variable *d; t->z[count].s = v; - t->z[count].d = d = dict_create_var (default_dict, - v->p.dsc.zname, 0); - assert (d != NULL); + t->z[count].d = d = dict_create_var_assert (default_dict, + v->p.dsc.zname, 0); + d->init = 0; if (v->label) { d->label = xmalloc (strlen (v->label) + 12); @@ -556,8 +554,7 @@ run_z_pass (void) } t->z[count].mean = v->p.dsc.stats[dsc_mean]; t->z[count].std_dev = v->p.dsc.stats[dsc_stddev]; - if (t->z[count].std_dev == SYSMIS - || approx_eq (t->z[count].std_dev, 0.0)) + if (t->z[count].std_dev == SYSMIS || t->z[count].std_dev == 0.0) t->z[count].mean = SYSMIS; count++; } @@ -569,7 +566,7 @@ run_z_pass (void) /* Statistical calculation. */ static void -precalc (void) +precalc (void *aux UNUSED) { int i; @@ -593,7 +590,7 @@ precalc (void) } static int -calc (struct ccase * c) +calc (struct ccase * c, void *aux UNUSED) { int i; @@ -685,7 +682,7 @@ iterate: } static void -postcalc (void) +postcalc (void *aux UNUSED) { int i;