Software / code / prosody
Comparison
util/statistics.lua @ 6562:2b5ced5ca31f
util.statistics: Return 0 as percentile if data out of range
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 30 Jan 2015 14:21:51 +0000 |
| parent | 6555:7b2d16c14659 |
| child | 6649:99fa40d498cc |
comparison
equal
deleted
inserted
replaced
| 6559:0ef7ca5276a1 | 6562:2b5ced5ca31f |
|---|---|
| 6 | 6 |
| 7 local function percentile(arr, length, pc) | 7 local function percentile(arr, length, pc) |
| 8 local n = pc/100 * (length + 1); | 8 local n = pc/100 * (length + 1); |
| 9 local k, d = m_floor(n), n%1; | 9 local k, d = m_floor(n), n%1; |
| 10 if k == 0 then | 10 if k == 0 then |
| 11 return arr[1]; | 11 return arr[1] or 0; |
| 12 elseif k >= length then | 12 elseif k >= length then |
| 13 return arr[length]; | 13 return arr[length]; |
| 14 end | 14 end |
| 15 return arr[k] + d*(arr[k+1] - arr[k]); | 15 return arr[k] + d*(arr[k+1] - arr[k]); |
| 16 end | 16 end |