Skip to content

Commit

Permalink
Rename
Browse files Browse the repository at this point in the history
  • Loading branch information
ehmicky committed Sep 26, 2021
1 parent 13601ac commit ac5a632
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 33 deletions.
44 changes: 17 additions & 27 deletions src/stats/outliers/indexes.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,7 @@ export const getThresholdsIndexes = function (quantiles, quantilesCount) {
quantilesCount,
outliersLimit,
}),
{
outliersMaxIndex: 0,
outliersMinIndex: 0,
outliersMaxIndexSum: 0,
outliersMinIndexSum: 0,
},
{ maxIndex: 0, minIndex: 0, maxIndexSum: 0, minIndexSum: 0 },
)
}

Expand Down Expand Up @@ -94,42 +89,37 @@ const getOutliersLimit = function (quantilesCount) {
// We use imperative code for performance.
/* eslint-disable fp/no-let, fp/no-loops, fp/no-mutation, no-param-reassign */
const getThresholdIndexes = function (
{
outliersMaxIndex,
outliersMinIndex,
outliersMaxIndexSum,
outliersMinIndexSum,
},
{ maxIndex, minIndex, maxIndexSum, minIndexSum },
{ threshold, quantiles, reversedQuantiles, quantilesCount, outliersLimit },
) {
let outliersMaxIncrement = 0
let outliersMinIncrement = 0
let maxIncrement = 0
let minIncrement = 0

do {
outliersMaxIncrement = getOutliersIncrement(
maxIncrement = getOutliersIncrement(
reversedQuantiles,
outliersMaxIndex,
quantilesCount - outliersMinIndex,
maxIndex,
quantilesCount - minIndex,
outliersLimit,
threshold,
)
outliersMaxIndex += outliersMaxIncrement
maxIndex += maxIncrement

outliersMinIncrement = getOutliersIncrement(
minIncrement = getOutliersIncrement(
quantiles,
outliersMinIndex,
quantilesCount - outliersMaxIndex,
minIndex,
quantilesCount - maxIndex,
outliersLimit,
threshold,
)
outliersMinIndex += outliersMinIncrement
} while (outliersMaxIncrement !== 0 || outliersMinIncrement !== 0)
minIndex += minIncrement
} while (maxIncrement !== 0 || minIncrement !== 0)

return {
outliersMaxIndex,
outliersMinIndex,
outliersMaxIndexSum: outliersMaxIndexSum + outliersMaxIndex,
outliersMinIndexSum: outliersMinIndexSum + outliersMinIndex,
maxIndex,
minIndex,
maxIndexSum: maxIndexSum + maxIndex,
minIndexSum: minIndexSum + minIndex,
}
}
/* eslint-enable fp/no-let, fp/no-loops, fp/no-mutation, no-param-reassign */
Expand Down
12 changes: 6 additions & 6 deletions src/stats/outliers/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,12 @@ export const getOutliersPercentages = function (measures) {
const quantilesCount = getQuantilesCount(measures)
const quantiles = getQuantiles(measures, quantilesCount)

const { outliersMinIndexSum, outliersMaxIndexSum } = getThresholdsIndexes(
const { minIndexSum, maxIndexSum } = getThresholdsIndexes(
quantiles,
quantilesCount,
)
const outliersMin = computePercentage(outliersMinIndexSum, quantilesCount)
const outliersMax = computePercentage(outliersMaxIndexSum, quantilesCount)
const outliersMin = computePercentage(minIndexSum, quantilesCount)
const outliersMax = computePercentage(maxIndexSum, quantilesCount)
return { outliersMin, outliersMax }
}

Expand All @@ -88,7 +88,7 @@ const getQuantilesCount = function (measures) {
}

// Compute the final outliersMin|outliersMax percentage
const computePercentage = function (outliersIndexSum, quantilesCount) {
const outliersIndexMean = outliersIndexSum / THRESHOLDS.length
return outliersIndexMean / quantilesCount
const computePercentage = function (indexSum, quantilesCount) {
const indexMean = indexSum / THRESHOLDS.length
return indexMean / quantilesCount
}

0 comments on commit ac5a632

Please sign in to comment.