Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Jul 2015 07:24:48 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 201582] ministat does not calculate proper median value (patch included)
Message-ID:  <bug-201582-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
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@FreeBSD.org
          Reporter: marcus@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-201582-8>