X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fnpar.c;h=3a178b233dddbcfae06d8559d01587c4a589231b;hb=d8fdf0b4fa919e48397b438e9453d6b82215ff51;hp=6adeca46cd0acd58a59dafd878f55bb16d6b3d72;hpb=848c950e47bf9912c91edf9aae9b3b6be21a2c01;p=pspp diff --git a/src/language/stats/npar.c b/src/language/stats/npar.c index 6adeca46cd..3a178b233d 100644 --- a/src/language/stats/npar.c +++ b/src/language/stats/npar.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. -*-c-*- - Copyright (C) 2006, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,44 +16,44 @@ #include -#include -#include "npar-summary.h" +#include "language/stats/npar.h" #include #include -#include "xalloc.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "data/case.h" +#include "data/casegrouper.h" +#include "data/casereader.h" +#include "data/dictionary.h" +#include "data/procedure.h" +#include "data/settings.h" +#include "data/variable.h" +#include "language/command.h" +#include "language/lexer/lexer.h" +#include "language/lexer/value-parser.h" +#include "language/lexer/variable-parser.h" +#include "language/stats/binomial.h" +#include "language/stats/chisquare.h" +#include "language/stats/cochran.h" +#include "language/stats/friedman.h" +#include "language/stats/kruskal-wallis.h" +#include "language/stats/mann-whitney.h" +#include "language/stats/npar-summary.h" +#include "language/stats/runs.h" +#include "language/stats/sign.h" +#include "language/stats/wilcoxon.h" +#include "libpspp/array.h" +#include "libpspp/assertion.h" +#include "libpspp/cast.h" +#include "libpspp/hash-functions.h" +#include "libpspp/hmapx.h" +#include "libpspp/message.h" +#include "libpspp/pool.h" +#include "libpspp/str.h" +#include "libpspp/taint.h" +#include "math/moments.h" + +#include "gl/xalloc.h" #include "gettext.h" #define _(msgid) gettext (msgid) @@ -235,6 +235,8 @@ parse_npar_tests (struct lexer *lexer, struct dataset *ds, struct cmd_npar_tests case 2: lex_error (lexer, NULL); goto lossage; + case 3: + continue; default: NOT_REACHED (); } @@ -720,7 +722,7 @@ npar_chisquare (struct lexer *lexer, struct dataset *ds, struct chisquare_test *cstp = pool_alloc (specs->pool, sizeof (*cstp)); struct one_sample_test *tp = &cstp->parent; struct npar_test *nt = &tp->parent; - + int retval = 1; nt->execute = chisquare_execute; nt->insert_variables = one_sample_insert_variables; @@ -794,7 +796,7 @@ npar_chisquare (struct lexer *lexer, struct dataset *ds, } } else - lex_put_back (lexer, T_SLASH); + retval = 3; } if ( cstp->ranged && cstp->n_expected > 0 && @@ -815,7 +817,7 @@ npar_chisquare (struct lexer *lexer, struct dataset *ds, specs->test[specs->n_tests - 1] = nt; - return 1; + return retval; } @@ -826,6 +828,7 @@ npar_binomial (struct lexer *lexer, struct dataset *ds, struct binomial_test *btp = pool_alloc (specs->pool, sizeof (*btp)); struct one_sample_test *tp = &btp->parent; struct npar_test *nt = &tp->parent; + bool equals; nt->execute = binomial_execute; nt->insert_variables = one_sample_insert_variables; @@ -836,6 +839,7 @@ npar_binomial (struct lexer *lexer, struct dataset *ds, if ( lex_match (lexer, T_LPAREN) ) { + equals = false; if ( lex_force_num (lexer) ) { btp->p = lex_number (lexer); @@ -846,10 +850,9 @@ npar_binomial (struct lexer *lexer, struct dataset *ds, return 0; } else - /* Kludge: q2c swallows the '=' so put it back here */ - lex_put_back (lexer, T_EQUALS); + equals = true; - if (lex_match (lexer, T_EQUALS) ) + if (equals || lex_match (lexer, T_EQUALS) ) { if (parse_variables_const_pool (lexer, specs->pool, dataset_dict (ds), &tp->vars, &tp->n_vars,