#include "gettext.h"
#define _(msgid) gettext (msgid)
-struct dataset;
/* Settings for subcommand specifiers. */
-enum
- {
- NPAR_ANALYSIS,
- NPAR_LISTWISE,
- };
-
-enum
+enum missing_type
{
- NPAR_INCLUDE,
- NPAR_EXCLUDE
+ MISS_ANALYSIS,
+ MISS_LISTWISE,
};
/* Array indices for STATISTICS subcommand. */
/* NPAR TESTS structure. */
struct cmd_npar_tests
{
- /* CHISQUARE subcommand. */
+ /* Count variables indicating how many
+ of the subcommands have been given. */
int chisquare;
-
- /* BINOMIAL subcommand. */
int binomial;
-
- /* WILCOXON subcommand. */
int wilcoxon;
-
- /* SIGN subcommand. */
int sign;
-
- /* MISSING subcommand. */
int missing;
- long miss;
- long incl;
-
- /* METHOD subcommand. */
int method;
-
- /* STATISTICS subcommand. */
int statistics;
+
+ /* How missing values should be treated */
+ long miss;
+
+ /* Which statistics have been requested */
int a_statistics[NPAR_ST_count];
};
npt->wilcoxon = 0;
npt->sign = 0;
npt->missing = 0;
- npt->miss = NPAR_ANALYSIS;
- npt->incl = NPAR_EXCLUDE;
+ npt->miss = MISS_ANALYSIS;
npt->method = 0;
npt->statistics = 0;
memset (npt->a_statistics, 0, sizeof npt->a_statistics);
while (lex_token (lexer) != '/' && lex_token (lexer) != '.')
{
if (lex_match_hyphenated_word (lexer, "ANALYSIS"))
- npt->miss = NPAR_ANALYSIS;
+ npt->miss = MISS_ANALYSIS;
else if (lex_match_hyphenated_word (lexer, "LISTWISE"))
- npt->miss = NPAR_LISTWISE;
+ npt->miss = MISS_LISTWISE;
else if (lex_match_hyphenated_word (lexer, "INCLUDE"))
- npt->incl = NPAR_INCLUDE;
+ nps->filter = MV_SYSTEM;
else if (lex_match_hyphenated_word (lexer, "EXCLUDE"))
- npt->incl = NPAR_EXCLUDE;
+ nps->filter = MV_ANY;
else
{
lex_error (lexer, NULL);
struct casereader *input, *group;
npar_specs.pool = pool_create ();
+ npar_specs.filter = MV_ANY;
var_hash = const_hsh_create_pool (npar_specs.pool, 0,
compare_vars_by_name, hash_var_by_name,
}
}
- npar_specs.filter = cmd.incl == NPAR_EXCLUDE ? MV_ANY : MV_SYSTEM;
-
input = proc_open (ds);
- if ( cmd.miss == NPAR_LISTWISE )
+ if ( cmd.miss == MISS_LISTWISE )
{
input = casereader_create_filter_missing (input,
npar_specs.vv,
return true;
}
+
static int
npar_wilcoxon (struct lexer *lexer,
struct dataset *ds,
return 1;
}
+
/* Insert the variables for TEST into VAR_HASH */
static void
one_sample_insert_variables (const struct npar_test *test,
struct const_hsh_table *var_hash)
{
int i;
- struct one_sample_test *ost = UP_CAST (test, struct one_sample_test, parent);
+ const struct one_sample_test *ost = UP_CAST (test, const struct one_sample_test, parent);
for ( i = 0 ; i < ost->n_vars ; ++i )
const_hsh_insert (var_hash, ost->vars[i]);
}
+
static void
two_sample_insert_variables (const struct npar_test *test,
struct const_hsh_table *var_hash)
{
int i;
- const struct two_sample_test *tst = (const struct two_sample_test *) test;
+ const struct two_sample_test *tst = UP_CAST (test, const struct two_sample_test, parent);
for ( i = 0 ; i < tst->n_pairs ; ++i )
{