From 18e3610ace8a5286d301e2f8ebd62bb579b2ea96 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sat, 18 Oct 2014 08:56:56 +0200 Subject: [PATCH] Frequencies.c: Use BIT_INDEX (FRQ_ST_MEDIAN) instead of FRQ_ST_MEDIAN. Closes bug #43427 --- src/language/stats/frequencies.c | 4 ++-- tests/language/stats/frequencies.at | 31 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/language/stats/frequencies.c b/src/language/stats/frequencies.c index d7929d580d..dc6eede880 100644 --- a/src/language/stats/frequencies.c +++ b/src/language/stats/frequencies.c @@ -994,7 +994,7 @@ cmd_frequencies (struct lexer *lexer, struct dataset *ds) } } - if (frq.stats & FRQ_ST_MEDIAN) + if (frq.stats & BIT_INDEX (FRQ_ST_MEDIAN)) { frq.percentiles = xrealloc (frq.percentiles, @@ -1364,7 +1364,7 @@ dump_statistics (const struct frq_proc *frq, const struct var_freqs *vf, } calc_stats (vf, stat_value); - t = tab_create (3, ((frq->stats & FRQ_ST_MEDIAN) ? frq->n_stats - 1 : frq->n_stats) + t = tab_create (3, ((frq->stats & BIT_INDEX (FRQ_ST_MEDIAN)) ? frq->n_stats - 1 : frq->n_stats) + frq->n_show_percentiles + 2); tab_set_format (t, RC_WEIGHT, wfmt); tab_box (t, TAL_1, TAL_1, -1, -1 , 0 , 0 , 2, tab_nr(t) - 1) ; diff --git a/tests/language/stats/frequencies.at b/tests/language/stats/frequencies.at index d321e576a0..6ac8def6f5 100644 --- a/tests/language/stats/frequencies.at +++ b/tests/language/stats/frequencies.at @@ -586,3 +586,34 @@ FREQUENCIES AT_CHECK([pspp frequencies.sps], [0], [ignore]) AT_CLEANUP + + +AT_SETUP([FREQUENCIES median]) +AT_DATA([median.sps], [dnl +data list notable list /x *. +begin data. +1 +2 +3000000 +end data. + +FREQUENCIES + /VARIABLES = x + /STATISTICS = MEDIAN + . +]) + +AT_CHECK([pspp median.sps -O format=csv], [0], [dnl +Table: x +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,1.00,1,33.33,33.33,33.33 +,2.00,1,33.33,33.33,66.67 +,3000000.00,1,33.33,33.33,100.00 +Total,,3,100.0,100.0, + +Table: x +N,Valid,3 +,Missing,0 +Percentiles,50 (Median),2.00 +]) +AT_CLEANUP -- 2.30.2