From: Jérôme Benoit Date: Tue, 12 Aug 2025 22:06:14 +0000 (+0200) Subject: fix: inputs gards logic in percentile() X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=c9b23f5d162bc9071b2c8864036094e7efb35125;p=e-mobility-charging-stations-simulator.git fix: inputs gards logic in percentile() Signed-off-by: Jérôme Benoit --- diff --git a/src/utils/StatisticUtils.ts b/src/utils/StatisticUtils.ts index 2c65759a..7ade29c1 100644 --- a/src/utils/StatisticUtils.ts +++ b/src/utils/StatisticUtils.ts @@ -29,7 +29,7 @@ export const max = (...args: number[]): number => // TODO: use order statistics tree https://en.wikipedia.org/wiki/Order_statistic_tree export const percentile = (dataSet: number[], percentile: number): number => { - if (percentile < 0 && percentile > 100) { + if (percentile < 0 || percentile > 100) { throw new RangeError('Percentile is not between 0 and 100') } if (Array.isArray(dataSet) && dataSet.length === 0) { @@ -63,7 +63,7 @@ export const percentile = (dataSet: number[], percentile: number): number => { * @internal */ export const std = (dataSet: number[], dataSetAverage: number = average(dataSet)): number => { - if (Array.isArray(dataSet) && (dataSet.length === 0 || dataSet.length === 1)) { + if (Array.isArray(dataSet) && dataSet.length <= 1) { return 0 } return Math.sqrt(