X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fmeans.q;h=b7a2da2065041fb5e2dd4d528391a6431a9e021d;hb=3816248a008a4af75aac6319d0c9929cb7ff679e;hp=51644ac8a42a4239868332528503f94446f7b7ab;hpb=a19b858e0ac3c69e4a28c0ca6d8674427268a863;p=pspp diff --git a/src/language/stats/means.q b/src/language/stats/means.q index 51644ac8a4..b7a2da2065 100644 --- a/src/language/stats/means.q +++ b/src/language/stats/means.q @@ -18,25 +18,25 @@ 02110-1301, USA. */ #include + #include #include + #include -#include -#include +#include +#include #include -#include #include -#include +#include +#include #include -#include +#include #include "gettext.h" #define _(msgid) gettext (msgid) /* (headers) */ -#include - /* (specification) means (mns_): *tables=custom; @@ -44,7 +44,7 @@ name:!names/nonames, val:!values/novalues, fmt:!table/tree; - +missing=miss:!table/include/dependent; + missing=miss:!table/include/dependent; +cells[cl_]=default,count,sum,mean,stddev,variance,all; +statistics[st_]=anova,linearity,all,none. */ @@ -52,17 +52,16 @@ /* (functions) */ /* TABLES: Variable lists for each dimension. */ -int n_dim; /* Number of dimensions. */ -size_t *nv_dim; /* Number of variables in each dimension. */ -struct variable ***v_dim; /* Variables in each dimension. */ +static int n_dim; /* Number of dimensions. */ +static size_t *nv_dim; /* Number of variables in each dimension. */ +static struct variable ***v_dim; /* Variables in each dimension. */ /* VARIABLES: List of variables. */ -int n_var; -struct variable **v_var; +static struct variable **v_var; /* Parses and executes the T-TEST procedure. */ int -cmd_means (void) +cmd_means (struct lexer *lexer, struct dataset *ds) { struct cmd_means cmd; int success = CMD_FAILURE; @@ -72,7 +71,7 @@ cmd_means (void) v_dim = NULL; v_var = NULL; - if (!parse_means (&cmd)) + if (!parse_means (lexer, ds, &cmd, NULL)) goto free; if (cmd.sbc_cells) @@ -123,15 +122,15 @@ free: /* Parses the TABLES subcommand. */ static int -mns_custom_tables (struct cmd_means *cmd) +mns_custom_tables (struct lexer *lexer, struct dataset *ds, struct cmd_means *cmd, void *aux UNUSED) { struct var_set *var_set; - if (!lex_match_id ("TABLES") - && (token != T_ID || dict_lookup_var (default_dict, tokid) == NULL) - && token != T_ALL) + if (!lex_match_id (lexer, "TABLES") + && (lex_token (lexer) != T_ID || dict_lookup_var (dataset_dict (ds), lex_tokid (lexer)) == NULL) + && lex_token (lexer) != T_ALL) return 2; - lex_match ('='); + lex_match (lexer, '='); if (cmd->sbc_tables) { @@ -140,7 +139,7 @@ mns_custom_tables (struct cmd_means *cmd) return 0; } - var_set = var_set_create_from_dict (default_dict); + var_set = var_set_create_from_dict (dataset_dict (ds)); assert (var_set != NULL); do @@ -148,7 +147,7 @@ mns_custom_tables (struct cmd_means *cmd) size_t nvl; struct variable **vl; - if (!parse_var_set_vars (var_set, &vl, &nvl, + if (!parse_var_set_vars (lexer, var_set, &vl, &nvl, PV_NO_DUPLICATE | PV_NO_SCRATCH)) goto lossage; @@ -159,7 +158,7 @@ mns_custom_tables (struct cmd_means *cmd) nv_dim[n_dim - 1] = nvl; v_dim[n_dim - 1] = vl; } - while (lex_match (T_BY)); + while (lex_match (lexer, T_BY)); var_set_destroy (var_set); return 1;