From: John Darrington Date: Mon, 15 Sep 2008 10:05:04 +0000 (+0800) Subject: Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp X-Git-Tag: v0.7.1~50^2~60 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f8dc7ca9962b212d623566e287b0f1d365f6398;hp=6fb519761f5f942e598cfd8570c52594c9456ba3;p=pspp-builds.git Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp Conflicts: po/en_GB.po --- diff --git a/po/en_GB.po b/po/en_GB.po index b6911c93..0c13bd30 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PSPP 0.4.3\n" "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n" -"POT-Creation-Date: 2008-09-13 08:26+0800\n" +"POT-Creation-Date: 2008-09-08 18:04+0800\n" "PO-Revision-Date: 2007-09-15 08:29+0800\n" "Last-Translator: John Darrington \n" "Language-Team: John Darrington \n" @@ -976,28 +976,28 @@ msgstr "" msgid "An I/O error occurred writing system file \"%s\"." msgstr "" -#: src/data/variable.c:225 +#: src/data/variable.c:209 #, c-format msgid "" "Character `%c' (in %s) may not appear as the first character in a variable " "name." msgstr "" -#: src/data/variable.c:237 +#: src/data/variable.c:221 #, c-format msgid "Character `%c' (in %s) may not appear in a variable name." msgstr "" -#: src/data/variable.c:265 +#: src/data/variable.c:249 msgid "Variable name cannot be empty string." msgstr "" -#: src/data/variable.c:271 +#: src/data/variable.c:255 #, c-format msgid "Variable name %s exceeds %d-character limit." msgstr "" -#: src/data/variable.c:279 +#: src/data/variable.c:263 #, c-format msgid "`%s' may not be used as a variable name because it is a reserved word." msgstr "" @@ -1873,8 +1873,7 @@ msgstr "" #: src/language/stats/crosstabs.q:1155 src/language/stats/crosstabs.q:1182 #: src/language/stats/crosstabs.q:1202 src/language/stats/crosstabs.q:1224 #: src/language/stats/examine.q:1948 src/language/stats/frequencies.q:1055 -#: src/language/stats/frequencies.q:1179 src/language/stats/reliability.q:569 -#: src/language/stats/reliability.q:580 +#: src/language/stats/frequencies.q:1179 msgid "Value" msgstr "" @@ -2638,8 +2637,7 @@ msgstr "" #: src/language/stats/crosstabs.q:1062 src/language/stats/crosstabs.q:1785 #: src/language/stats/examine.q:1207 src/language/stats/frequencies.q:1132 #: src/language/stats/oneway.q:306 src/language/stats/oneway.q:476 -#: src/language/stats/regression.q:309 src/language/stats/reliability.q:702 -#: src/ui/gui/crosstabs-dialog.c:59 +#: src/language/stats/regression.q:309 src/ui/gui/crosstabs-dialog.c:59 msgid "Total" msgstr "" @@ -2651,9 +2649,8 @@ msgstr "" #: src/language/stats/binomial.c:236 src/language/stats/crosstabs.q:872 #: src/language/stats/examine.q:1280 src/language/stats/frequencies.q:1400 #: src/language/stats/npar-summary.c:122 src/language/stats/oneway.q:391 -#: src/language/stats/reliability.q:705 src/language/stats/t-test.q:693 -#: src/language/stats/t-test.q:716 src/language/stats/t-test.q:850 -#: src/language/stats/t-test.q:1387 +#: src/language/stats/t-test.q:693 src/language/stats/t-test.q:716 +#: src/language/stats/t-test.q:850 src/language/stats/t-test.q:1387 msgid "N" msgstr "" @@ -2744,13 +2741,11 @@ msgid "Summary." msgstr "" #: src/language/stats/crosstabs.q:859 src/language/stats/examine.q:1268 -#: src/language/stats/reliability.q:693 msgid "Cases" msgstr "" #: src/language/stats/crosstabs.q:860 src/language/stats/examine.q:1205 #: src/language/stats/frequencies.q:1053 src/language/stats/frequencies.q:1401 -#: src/language/stats/reliability.q:696 msgid "Valid" msgstr "" @@ -3149,7 +3144,7 @@ msgstr "" msgid "%s and %s are mutually exclusive" msgstr "" -#: src/language/stats/examine.q:1263 src/language/stats/reliability.q:670 +#: src/language/stats/examine.q:1263 msgid "Case Processing Summary" msgstr "" @@ -3651,83 +3646,6 @@ msgstr "" msgid "Dependent variable must be numeric." msgstr "" -#: src/language/stats/reliability.q:426 -msgid "Reliability Statistics" -msgstr "" - -#: src/language/stats/reliability.q:469 -msgid "Item-Total Statistics" -msgstr "" - -#: src/language/stats/reliability.q:491 -msgid "Scale Mean if Item Deleted" -msgstr "" - -#: src/language/stats/reliability.q:494 -msgid "Scale Variance if Item Deleted" -msgstr "" - -#: src/language/stats/reliability.q:497 -msgid "Corrected Item-Total Correlation" -msgstr "" - -#: src/language/stats/reliability.q:500 -msgid "Cronbach's Alpha if Item Deleted" -msgstr "" - -#: src/language/stats/reliability.q:547 src/language/stats/reliability.q:563 -msgid "Cronbach's Alpha" -msgstr "" - -#: src/language/stats/reliability.q:550 -msgid "N of items" -msgstr "" - -#: src/language/stats/reliability.q:566 -msgid "Part 1" -msgstr "" - -#: src/language/stats/reliability.q:572 src/language/stats/reliability.q:583 -msgid "N of Items" -msgstr "" - -#: src/language/stats/reliability.q:577 -msgid "Part 2" -msgstr "" - -#: src/language/stats/reliability.q:588 -msgid "Total N of Items" -msgstr "" - -#: src/language/stats/reliability.q:591 -msgid "Correlation Between Forms" -msgstr "" - -#: src/language/stats/reliability.q:595 -msgid "Spearman-Brown Coefficient" -msgstr "" - -#: src/language/stats/reliability.q:598 -msgid "Equal Length" -msgstr "" - -#: src/language/stats/reliability.q:601 -msgid "Unequal Length" -msgstr "" - -#: src/language/stats/reliability.q:605 -msgid "Guttman Split-Half Coefficient" -msgstr "" - -#: src/language/stats/reliability.q:699 -msgid "Excluded" -msgstr "" - -#: src/language/stats/reliability.q:708 -#, c-format -msgid "%%" -msgstr "" - #: src/language/stats/sort-cases.c:64 msgid "Buffer limit must be at least 2." msgstr "" diff --git a/src/language/stats/glm.q b/src/language/stats/glm.q index 1b91ba81..ad8bf55e 100644 --- a/src/language/stats/glm.q +++ b/src/language/stats/glm.q @@ -47,7 +47,7 @@ #include "xalloc.h" #include "gettext.h" -#define GLM_LARGE_DATA 1000 +#define GLM_LARGE_DATA 10000 /* (headers) */ @@ -339,6 +339,17 @@ run_glm (struct casereader *input, } } } + model = pspp_linreg_cache_alloc (n_data, n_indep); + model->depvar = v_dependent; + /* + For large data sets, use QR decomposition. + */ + if (n_data > sqrt (n_indep) && n_data > GLM_LARGE_DATA) + { + model->method = PSPP_LINREG_QR; + } + coeff_init (model, X); + pspp_linreg_with_cov (X, model); casereader_destroy (reader); for (i = 0; i < n_all_vars; i++) { @@ -357,6 +368,7 @@ run_glm (struct casereader *input, } free (indep_vars); free (lopts.get_indep_mean_std); + pspp_linreg_cache_free (model); casereader_destroy (input); return true; diff --git a/src/math/linreg.c b/src/math/linreg.c index 2fb98cf7..355261b6 100644 --- a/src/math/linreg.c +++ b/src/math/linreg.c @@ -96,7 +96,7 @@ linreg_mean_std (gsl_vector_const_view v, double *mp, double *sp, double *ssp) The return value is the number of distinct variables found. */ int -pspp_linreg_get_vars (const void *c_, const struct variable **v) +pspp_linreg_get_vars (const void *c_, struct variable **v) { const pspp_linreg_cache *c = c_; const struct variable *tmp; @@ -666,7 +666,7 @@ rearrange_covariance_matrix (const struct design_matrix *cov, pspp_linreg_cache v = xnmalloc (c->n_coeffs, sizeof (*v)); model_vars = xnmalloc (c->n_coeffs, sizeof (*model_vars)); columns = xnmalloc (cov->m->size2, sizeof (*columns)); - n_vars = pspp_linreg_get_vars (c, (const struct variable **) v); + n_vars = pspp_linreg_get_vars (c, v); dep_col = 0; k = 0; for (i = 0; i < cov->m->size2; i++) @@ -731,7 +731,7 @@ pspp_linreg_with_cov (const struct design_matrix *full_cov, { struct design_matrix *cov; - assert (cov != NULL); + assert (full_cov != NULL); assert (cache != NULL); cov = rearrange_covariance_matrix (full_cov, cache); diff --git a/src/math/linreg.h b/src/math/linreg.h index 05c81596..18f962c0 100644 --- a/src/math/linreg.h +++ b/src/math/linreg.h @@ -197,7 +197,7 @@ pspp_linreg_residual (const struct variable **, const union value **, /* All variables used in the model. */ -int pspp_linreg_get_vars (const void *, const struct variable **); +int pspp_linreg_get_vars (const void *, struct variable **); struct pspp_coeff *pspp_linreg_get_coeff (const pspp_linreg_cache *, diff --git a/src/ui/gui/data-editor.c b/src/ui/gui/data-editor.c index 9ca7511e..f7df21c7 100644 --- a/src/ui/gui/data-editor.c +++ b/src/ui/gui/data-editor.c @@ -1375,6 +1375,11 @@ data_save_as_dialog (GtkAction *action, struct data_editor *de) de->save_as_portable = ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button_sys)); + if ( de->save_as_portable) + append_filename_suffix (de, ".por"); + else + append_filename_suffix (de, ".sav"); + save_file (de); window_set_name_from_filename (e, de->file_name);