projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
now builds frequency tables
[pspp]
/
src
/
language
/
stats
/
glm.c
diff --git
a/src/language/stats/glm.c
b/src/language/stats/glm.c
index d7b9b0f084e2de4fc04a5a75d6cd1fbe42e01e60..2766279f2ed9fbcaad9c80531a7c0752fb63ccde 100644
(file)
--- 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;
}
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);
{
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))
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)
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);
}
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)
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);
}
covariance_accumulate_pass2 (cov, c);
}
@@
-860,8
+852,8
@@
parse_nested_variable (struct lexer *lexer, struct glm_spec *glm)
return false;
}
return false;
}
- lex_error (lexer, "Nested variables are not yet implemented");
return false;
- return
tru
e;
+ lex_error (lexer, "Nested variables are not yet implemented");
+ return
fals
e;
}
/* A design term is an interaction OR a nested variable */
}
/* 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 */
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;
}
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);
}
return parse_design_spec (lexer, glm);
}
-