X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FStatisticUtils.ts;h=9f50b8eaa12b08037ef9c49b042ac96a62463bef;hb=452a4864d4a8d0286ddd351958d8cc02574b4ba9;hp=4125ab06a9598dd7d6dd7812dbb0539ecc20ba69;hpb=9b2b345bde0992d51a8df02ba7d9a9b00826e512;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/StatisticUtils.ts b/src/utils/StatisticUtils.ts index 4125ab06..9f50b8ea 100644 --- a/src/utils/StatisticUtils.ts +++ b/src/utils/StatisticUtils.ts @@ -21,17 +21,16 @@ export const nthPercentile = (dataSet: number[], percentile: number): number => if (percentile === 100) { return sortedDataSet[sortedDataSet.length - 1] } - const percentileIndexBase = (percentile / 100) * (sortedDataSet.length - 1) - const percentileIndexInteger = Math.floor(percentileIndexBase) + const base = (percentile / 100) * (sortedDataSet.length - 1) + const baseIndex = Math.floor(base) // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (sortedDataSet[percentileIndexInteger + 1] != null) { + if (sortedDataSet[baseIndex + 1] != null) { return ( - sortedDataSet[percentileIndexInteger] + - (percentileIndexBase - percentileIndexInteger) * - (sortedDataSet[percentileIndexInteger + 1] - sortedDataSet[percentileIndexInteger]) + sortedDataSet[baseIndex] + + (base - baseIndex) * (sortedDataSet[baseIndex + 1] - sortedDataSet[baseIndex]) ) } - return sortedDataSet[percentileIndexInteger] + return sortedDataSet[baseIndex] } /**