X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fglm.c;h=2766279f2ed9fbcaad9c80531a7c0752fb63ccde;hb=75ade7b3b58ae95e6c9047198578dbbe2ca2cc45;hp=d7b9b0f084e2de4fc04a5a75d6cd1fbe42e01e60;hpb=7919fa5fc1f94ad0097507d20e2deea52ed06df8;p=pspp diff --git a/src/language/stats/glm.c b/src/language/stats/glm.c index d7b9b0f084..2766279f2e 100644 --- a/src/language/stats/glm.c +++ b/src/language/stats/glm.c @@ -262,19 +262,13 @@ cmd_glm (struct lexer *lexer, struct dataset *ds) goto error; } - if (! lex_force_int (lexer)) + if (!lex_force_int_range (lexer, "SSTYPE", 1, 3)) { lex_error (lexer, NULL); goto error; } glm.ss_type = lex_integer (lexer); - if (1 > glm.ss_type || 3 < glm.ss_type) - { - msg (ME, _("Only types 1, 2 & 3 sums of squares are currently implemented")); - goto error; - } - lex_get (lexer); if (! lex_force_match (lexer, T_RPAREN)) @@ -624,8 +618,7 @@ run_glm (struct glm_spec *cmd, struct casereader *input, double weight = dict_get_case_weight (dict, c, &warn_bad_weight); for (v = 0; v < cmd->n_dep_vars; ++v) - moments_pass_one (ws.totals, case_data (c, cmd->dep_vars[v])->f, - weight); + moments_pass_one (ws.totals, case_num (c, cmd->dep_vars[v]), weight); covariance_accumulate_pass1 (cov, c); } @@ -642,8 +635,7 @@ run_glm (struct glm_spec *cmd, struct casereader *input, double weight = dict_get_case_weight (dict, c, &warn_bad_weight); for (v = 0; v < cmd->n_dep_vars; ++v) - moments_pass_two (ws.totals, case_data (c, cmd->dep_vars[v])->f, - weight); + moments_pass_two (ws.totals, case_num (c, cmd->dep_vars[v]), weight); covariance_accumulate_pass2 (cov, c); } @@ -860,8 +852,8 @@ parse_nested_variable (struct lexer *lexer, struct glm_spec *glm) return false; } - lex_error (lexer, "Nested variables are not yet implemented"); return false; - return true; + lex_error (lexer, "Nested variables are not yet implemented"); + return false; } /* A design term is an interaction OR a nested variable */ @@ -872,7 +864,7 @@ parse_design_term (struct lexer *lexer, struct glm_spec *glm) if (parse_design_interaction (lexer, glm->dict, &iact)) { /* Interaction parsing successful. Add to list of interactions */ - glm->interactions = xrealloc (glm->interactions, sizeof *glm->interactions * ++glm->n_interactions); + glm->interactions = xrealloc (glm->interactions, sizeof (*glm->interactions) * ++glm->n_interactions); glm->interactions[glm->n_interactions - 1] = iact; return true; } @@ -902,4 +894,3 @@ parse_design_spec (struct lexer *lexer, struct glm_spec *glm) return parse_design_spec (lexer, glm); } -