[Bug 201582] ministat does not calculate proper median value (patch included)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Jul 15 07:24:48 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201582
Bug ID: 201582
Summary: ministat does not calculate proper median value (patch
included)
Product: Base System
Version: 11.0-CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: marcus at blazingdot.com
Created attachment 158793
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=158793&action=edit
Make ministat return proper value for median
>From http://www.mathgoodies.com/lessons/vol8/median.html :
"The median of a set of data is the middlemost number in the set. The median is
also the number that is halfway into the set. To find the median, the data
should be arranged in order from least to greatest. If there is an even number
of items in the data set, then the median is found by taking the mean (average)
of the two middlemost numbers."
Ministat currently returns the second of the two middle numbers if there is an
even number of entries. This patch takes the middle two and returns their
average.
*** usr.bin/ministat/ministat.c.orig 2015-07-14 23:49:11.246171000 -0700
--- usr.bin/ministat/ministat.c 2015-07-15 00:16:20.895494000 -0700
***************
*** 193,199 ****
Median(struct dataset *ds)
{
! return (ds->points[ds->n / 2]);
}
static double
--- 193,200 ----
Median(struct dataset *ds)
{
! if(!(ds->n % 2)) return ((ds->points[ds->n / 2]) + (ds->points[(ds->n /
2)-1]))/2;
! else return (ds->points[ds->n / 2]);
}
static double
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list