From: Ben Pfaff Date: Fri, 2 Dec 2011 05:25:18 +0000 (-0800) Subject: Avoid declaring variables in the middle of a block, to avoid requiring C99. X-Git-Tag: v0.7.9~69 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp-builds.git;a=commitdiff_plain;h=6e5736d55e61f5dca727428213a835998eeacead Avoid declaring variables in the middle of a block, to avoid requiring C99. --- diff --git a/lib/linreg/sweep.c b/lib/linreg/sweep.c index 1eb466e9..62dda200 100644 --- a/lib/linreg/sweep.c +++ b/lib/linreg/sweep.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2005, 2009 Free Software Foundation, Inc. + Copyright (C) 2005, 2009, 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 @@ -69,17 +69,16 @@ int reg_sweep (gsl_matrix * A, int last_col) { - if (A == NULL) - return GSL_EFAULT; - - if (A->size1 != A->size2) - return GSL_ENOTSQR; - int i; int j; int k; gsl_matrix *B; + if (A == NULL) + return GSL_EFAULT; + + if (A->size1 != A->size2) + return GSL_ENOTSQR; assert (last_col < A->size1); gsl_matrix_swap_rows (A, A->size1 - 1, last_col); diff --git a/src/language/stats/glm.c b/src/language/stats/glm.c index 92e35ccd..5df61c3e 100644 --- a/src/language/stats/glm.c +++ b/src/language/stats/glm.c @@ -716,6 +716,8 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws) const struct fmt_spec *wfmt = cmd->wv ? var_get_print_format (cmd->wv) : &F_8_0; + double intercept_ssq; + double ssq_effects; double n_total, mean; double df_corr = 1.0; double mse = 0; @@ -767,9 +769,9 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws) mse = gsl_vector_get (ws->ssq, 0) / (n_total - df_corr); - const double intercept_ssq = pow2 (mean * n_total) / n_total; + intercept_ssq = pow2 (mean * n_total) / n_total; - double ssq_effects = 0.0; + ssq_effects = 0.0; if (cmd->intercept) { const double df = 1.0; @@ -790,6 +792,8 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws) double df = categoricals_df (ws->cats, f); double ssq = gsl_vector_get (ws->ssq, f + 1); + double F; + ssq_effects += ssq; if (! cmd->intercept) @@ -798,7 +802,7 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws) ssq += intercept_ssq; } - const double F = ssq / df / mse; + F = ssq / df / mse; interaction_to_string (cmd->interactions[f], &str); tab_text (t, 0, r, TAB_LEFT | TAT_TITLE, ds_cstr (&str)); ds_destroy (&str); @@ -817,12 +821,14 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws) /* Model / Corrected Model */ double df = df_corr; double ssq = ws->total_ssq - gsl_vector_get (ws->ssq, 0); + double F; + if ( cmd->intercept ) df --; else ssq += intercept_ssq; - const double F = ssq / df / mse; + F = ssq / df / mse; tab_double (t, 1, heading_rows, 0, ssq, NULL); tab_double (t, 2, heading_rows, 0, df, wfmt); tab_double (t, 3, heading_rows, 0, ssq / df, NULL); diff --git a/src/math/covariance.c b/src/math/covariance.c index 2f4f525a..bc5382c0 100644 --- a/src/math/covariance.c +++ b/src/math/covariance.c @@ -742,7 +742,9 @@ struct tab_table * covariance_dump_enc_header (const struct covariance *cov, int length) { struct tab_table *t = tab_create (cov->dim, length); + int n; int i; + tab_title (t, "Covariance Encoding"); tab_box (t, @@ -758,18 +760,19 @@ covariance_dump_enc_header (const struct covariance *cov, int length) tab_vline (t, TAL_1, i + 1, 0, tab_nr (t) - 1); } - int n = 0; + n = 0; while (i < cov->dim) { struct string str; int idx = i - cov->n_vars; const struct interaction *iact = categoricals_get_interaction_by_subscript (cov->categoricals, idx); + int df; ds_init_empty (&str); interaction_to_string (iact, &str); - int df = categoricals_df (cov->categoricals, n); + df = categoricals_df (cov->categoricals, n); tab_joint_text (t, i, 0,