From: Ben Pfaff Date: Tue, 25 Dec 2018 05:45:52 +0000 (-0800) Subject: dictionary: New function dict_get_weight_format(). X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=190685bbb443e47d40d64247f4893c15edd99ad1;p=pspp dictionary: New function dict_get_weight_format(). Just a convenience. --- diff --git a/src/data/dictionary.c b/src/data/dictionary.c index d34bd9a358..2a5f4d83e7 100644 --- a/src/data/dictionary.c +++ b/src/data/dictionary.c @@ -1072,6 +1072,13 @@ dict_get_case_weight (const struct dictionary *d, const struct ccase *c, } } +/* Returns the format to use for weights. */ +const struct fmt_spec * +dict_get_weight_format (const struct dictionary *d) +{ + return d->weight ? var_get_print_format (d->weight) : &F_8_0; +} + /* Sets the weighting variable of D to V, or turning off weighting if V is a null pointer. */ void diff --git a/src/data/dictionary.h b/src/data/dictionary.h index 8a760081d3..0eb175063d 100644 --- a/src/data/dictionary.h +++ b/src/data/dictionary.h @@ -100,6 +100,7 @@ double dict_get_case_weight (const struct dictionary *, const struct ccase *, bool *); struct variable *dict_get_weight (const struct dictionary *); void dict_set_weight (struct dictionary *, struct variable *); +const struct fmt_spec *dict_get_weight_format (const struct dictionary *); /* Filter variable. */ struct variable *dict_get_filter (const struct dictionary *); diff --git a/src/language/stats/binomial.c b/src/language/stats/binomial.c index b8ed5da9ac..00f37ab8b7 100644 --- a/src/language/stats/binomial.c +++ b/src/language/stats/binomial.c @@ -179,9 +179,7 @@ binomial_execute (const struct dataset *ds, if (do_binomial (dataset_dict (ds), input, ost, cat[0], cat[1], exclude)) { - const struct variable *wvar = dict_get_weight (dict); - const struct fmt_spec *wfmt = wvar ? - var_get_print_format (wvar) : & F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); struct tab_table *table = tab_create (7, ost->n_vars * 3 + 1); tab_set_format (table, RC_WEIGHT, wfmt); diff --git a/src/language/stats/chisquare.c b/src/language/stats/chisquare.c index e2ed8fef64..dd04749f98 100644 --- a/src/language/stats/chisquare.c +++ b/src/language/stats/chisquare.c @@ -195,8 +195,7 @@ create_combo_frequency_table (const struct dictionary *dict, const struct chisqu struct tab_table *table ; - const struct variable *wvar = dict_get_weight (dict); - const struct fmt_spec *wfmt = wvar ? var_get_print_format (wvar) : & F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); int n_cells = test->hi - test->lo + 1; diff --git a/src/language/stats/cochran.c b/src/language/stats/cochran.c index cea9a054bb..091715694e 100644 --- a/src/language/stats/cochran.c +++ b/src/language/stats/cochran.c @@ -147,8 +147,7 @@ static void show_freqs_box (const struct one_sample_test *ost, const struct cochran *ct) { int i; - const struct variable *weight = dict_get_weight (ct->dict); - const struct fmt_spec *wfmt = weight ? var_get_print_format (weight) : &F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (ct->dict); const int row_headers = 1; const int column_headers = 2; @@ -199,8 +198,7 @@ show_freqs_box (const struct one_sample_test *ost, const struct cochran *ct) static void show_sig_box (const struct cochran *ch) { - const struct variable *weight = dict_get_weight (ch->dict); - const struct fmt_spec *wfmt = weight ? var_get_print_format (weight) : &F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (ch->dict); const int row_headers = 1; const int column_headers = 0; diff --git a/src/language/stats/crosstabs.q b/src/language/stats/crosstabs.q index c2f34c2df2..aa77fb8b7c 100644 --- a/src/language/stats/crosstabs.q +++ b/src/language/stats/crosstabs.q @@ -217,7 +217,6 @@ round_weight (const struct crosstabs_proc *proc, double weight) int cmd_crosstabs (struct lexer *lexer, struct dataset *ds) { - const struct variable *wv = dict_get_weight (dataset_dict (ds)); struct var_range *range, *next_range; struct crosstabs_proc proc; struct casegrouper *grouper; @@ -236,7 +235,7 @@ cmd_crosstabs (struct lexer *lexer, struct dataset *ds) proc.pivots = NULL; proc.n_pivots = 0; proc.descending = false; - proc.weight_format = wv ? *var_get_print_format (wv) : F_8_0; + proc.weight_format = *dict_get_weight_format (dataset_dict (ds)); if (!parse_crosstabs (lexer, ds, &cmd, &proc)) { diff --git a/src/language/stats/friedman.c b/src/language/stats/friedman.c index 8fa49f7d11..cf03c83c12 100644 --- a/src/language/stats/friedman.c +++ b/src/language/stats/friedman.c @@ -259,8 +259,7 @@ show_sig_box (const struct one_sample_test *ost, const struct friedman *fr) const struct friedman_test *ft = UP_CAST (ost, const struct friedman_test, parent); int row = 0; - const struct variable *weight = dict_get_weight (fr->dict); - const struct fmt_spec *wfmt = weight ? var_get_print_format (weight) : &F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (fr->dict); const int row_headers = 1; const int column_headers = 0; diff --git a/src/language/stats/ks-one-sample.c b/src/language/stats/ks-one-sample.c index ea7ac71b7e..7e2e5bb631 100644 --- a/src/language/stats/ks-one-sample.c +++ b/src/language/stats/ks-one-sample.c @@ -139,8 +139,7 @@ ks_one_sample_execute (const struct dataset *ds, const struct ks_one_sample_test *kst = UP_CAST (test, const struct ks_one_sample_test, parent.parent); const struct one_sample_test *ost = &kst->parent; struct ccase *c; - const struct variable *wvar = dict_get_weight (dict); - const struct fmt_spec *wfmt = wvar ? var_get_print_format (wvar) : & F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); bool warn = true; int v; struct casereader *r = casereader_clone (input); diff --git a/src/language/stats/mcnemar.c b/src/language/stats/mcnemar.c index 648dc9c3f7..d3f48192fa 100644 --- a/src/language/stats/mcnemar.c +++ b/src/language/stats/mcnemar.c @@ -166,8 +166,7 @@ output_freq_table (variable_pair *vp, struct tab_table *table = tab_create (header_cols + 2, header_rows + 2); - const struct variable *wv = dict_get_weight (dict); - const struct fmt_spec *wfmt = wv ? var_get_print_format (wv) : & F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); struct string pair_name; @@ -236,8 +235,7 @@ output_statistics_table (const struct two_sample_test *t2s, struct tab_table *table = tab_create (5, t2s->n_pairs + 1); - const struct variable *wv = dict_get_weight (dict); - const struct fmt_spec *wfmt = wv ? var_get_print_format (wv) : & F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); tab_title (table, _("Test Statistics")); tab_set_format (table, RC_WEIGHT, wfmt); diff --git a/src/language/stats/median.c b/src/language/stats/median.c index 49a4bc12e8..7bb87f92f2 100644 --- a/src/language/stats/median.c +++ b/src/language/stats/median.c @@ -301,8 +301,7 @@ median_execute (const struct dataset *ds, static void show_frequencies (const struct n_sample_test *nst, const struct results *results, int n_vals, const struct dictionary *dict) { - const struct variable *weight = dict_get_weight (dict); - const struct fmt_spec *wfmt = weight ? var_get_print_format (weight) : &F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); int i; int v; @@ -391,8 +390,7 @@ show_test_statistics (const struct n_sample_test *nst, int n_vals, const struct dictionary *dict) { - const struct variable *weight = dict_get_weight (dict); - const struct fmt_spec *wfmt = weight ? var_get_print_format (weight) : &F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); int v; diff --git a/src/language/stats/reliability.c b/src/language/stats/reliability.c index 560b89f980..27a4656723 100644 --- a/src/language/stats/reliability.c +++ b/src/language/stats/reliability.c @@ -536,8 +536,7 @@ static void case_processing_summary (casenumber n_valid, casenumber n_missing, const struct dictionary *dict) { - const struct variable *wv = dict_get_weight (dict); - const struct fmt_spec *wfmt = wv ? var_get_print_format (wv) : & F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); casenumber total; int n_cols = 4; diff --git a/src/language/stats/runs.c b/src/language/stats/runs.c index cd963d3273..9a32a530e8 100644 --- a/src/language/stats/runs.c +++ b/src/language/stats/runs.c @@ -308,8 +308,7 @@ runs_execute (const struct dataset *ds, static void show_runs_result (const struct runs_test *rt, const struct run_state *rs, const struct dictionary *dict) { - const struct variable *weight = dict_get_weight (dict); - const struct fmt_spec *wfmt = weight ? var_get_print_format (weight) : &F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); const struct one_sample_test *otp = &rt->parent; diff --git a/src/language/stats/sign.c b/src/language/stats/sign.c index 5149489d11..e16298a6ba 100644 --- a/src/language/stats/sign.c +++ b/src/language/stats/sign.c @@ -56,8 +56,7 @@ output_frequency_table (const struct two_sample_test *t2s, int i; struct tab_table *table = tab_create (3, 1 + 4 * t2s->n_pairs); - const struct variable *wv = dict_get_weight (dict); - const struct fmt_spec *wfmt = wv ? var_get_print_format (wv) : & F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); tab_set_format (table, RC_WEIGHT, wfmt); tab_title (table, _("Frequencies")); diff --git a/src/language/stats/wilcoxon.c b/src/language/stats/wilcoxon.c index 2a8061dd91..2c58962047 100644 --- a/src/language/stats/wilcoxon.c +++ b/src/language/stats/wilcoxon.c @@ -217,8 +217,7 @@ show_ranks_box (const struct wilcoxon_state *ws, { size_t i; - const struct variable *wv = dict_get_weight (dict); - const struct fmt_spec *wfmt = wv ? var_get_print_format (wv) : & F_8_0; + const struct fmt_spec *wfmt = dict_get_weight_format (dict); struct tab_table *table = tab_create (5, 1 + 4 * t2s->n_pairs); tab_set_format (table, RC_WEIGHT, wfmt);