X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Faggregate.c;h=b2132ec71a99f13a0276ea66da3c35c2be210d85;hb=58a59525bddb2d6a606bb6ea3c2e4895502318a3;hp=7430b819e90a2889aa4cb57be6575b180293335a;hpb=21f2e65c7c2555bf5422920651eab07d1e8f5154;p=pspp diff --git a/src/language/stats/aggregate.c b/src/language/stats/aggregate.c index 7430b819e9..b2132ec71a 100644 --- a/src/language/stats/aggregate.c +++ b/src/language/stats/aggregate.c @@ -1003,21 +1003,22 @@ dump_aggregate_info (const struct agr_proc *agr, struct casewriter *output, cons break; case MEDIAN: { - struct casereader *sorted_reader; - struct percentile *median = percentile_create (0.5, i->cc); - struct order_stats *os = &median->parent; - - sorted_reader = casewriter_make_reader (i->writer); - - order_stats_accumulate (&os, 1, - sorted_reader, - i->weight, - i->subject, - i->exclude); - - v->f = percentile_calculate (median, PC_HAVERAGE); - - statistic_destroy (&median->parent.parent); + if ( i->writer) + { + struct percentile *median = percentile_create (0.5, i->cc); + struct order_stats *os = &median->parent; + struct casereader *sorted_reader = casewriter_make_reader (i->writer); + i->writer = NULL; + + order_stats_accumulate (&os, 1, + sorted_reader, + i->weight, + i->subject, + i->exclude); + i->dbl[0] = percentile_calculate (median, PC_HAVERAGE); + statistic_destroy (&median->parent.parent); + } + v->f = i->dbl[0]; } break; case SD: