X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fglm.q;h=5f20a2e3f0bf96da24b6a7214d6f0538a475ced9;hb=923465a12d3abde067b0b3790768caf326b08a8c;hp=1444a0c1b7a66c0866c5ea32eca348037d5c4667;hpb=e447d46bdee6d78d1610e5e401f99fcd111a061a;p=pspp diff --git a/src/language/stats/glm.q b/src/language/stats/glm.q index 1444a0c1b7..5f20a2e3f0 100644 --- a/src/language/stats/glm.q +++ b/src/language/stats/glm.q @@ -23,7 +23,6 @@ #include #include -#include #include #include #include @@ -37,13 +36,11 @@ #include #include #include -#include #include #include -#include #include #include -#include +#include #include "xalloc.h" #include "gettext.h" @@ -252,26 +249,13 @@ glm_custom_dependent (struct lexer *lexer, struct dataset *ds, return 1; } -/* - COV is the covariance matrix for variables included in the - model. That means the dependent variable is in there, too. - */ -static void -coeff_init (pspp_linreg_cache * c, const struct design_matrix *cov) -{ - c->coeff = xnmalloc (cov->m->size2, sizeof (*c->coeff)); - c->n_coeffs = cov->m->size2 - 1; - pspp_coeff_init (c->coeff, cov); -} - - -static pspp_linreg_cache * +static linreg * fit_model (const struct covariance *cov, const struct variable *dep_var, const struct variable ** indep_vars, size_t n_data, size_t n_indep) { - pspp_linreg_cache *result = NULL; + linreg *result = NULL; return result; } @@ -285,7 +269,7 @@ run_glm (struct casereader *input, const struct variable **numerics = NULL; const struct variable **categoricals = NULL; int n_indep = 0; - pspp_linreg_cache *model = NULL; + linreg *model = NULL; pspp_linreg_opts lopts; struct ccase *c; size_t i; @@ -391,8 +375,9 @@ run_glm (struct casereader *input, } for (; (c = casereader_read (r)) != NULL; case_unref (c)) { - covariance_accumulate_pass1 (cov, c); + covariance_accumulate_pass2 (cov, c); } + covariance_destroy (cov); casereader_destroy (reader); casereader_destroy (r);