Range tools
Range normalization, distance metrics, notation buckets, blocker pressure, and compact range summaries.
| Export | Summary |
|---|---|
normalizeSparseRange | Normalize a dense or sparse 1326-combo range into a dense probability vector. |
pruneRangeByMinWeight | Drop low-weight range combos and return a compact sparse range. |
mergeSparseRanges | Blend two ranges with caller-supplied weights and normalize the result. |
intersectSparseRanges | Keep the overlapping mass between two villain ranges. |
subtractSparseRange | Remove one weighted range from another and normalize the remaining mass. |
rangeComboCount | Count active combos in a dense or sparse range. |
rangeShannonEntropy | Measure how spread out a range is after normalization. |
rangeGiniCoefficient | Measure how concentrated a range is across its combos. |
rangeCoverageFraction | Return the share of the 1326 combo grid with positive mass. |
rangeWeightTopKMass | Return the normalized probability mass held by the top weighted combos. |
rangeDistanceL1 | Compute L1 distance between two normalized ranges. |
rangeDistanceL2 | Compute Euclidean distance between two normalized ranges. |
rangeDistanceJensenShannon | Compute Jensen-Shannon distance between two normalized ranges. |
rangeCosineSimilarity | Compare two range vectors by cosine similarity. |
rangeTopCombos | List the highest-weight combos in a range. |
rangeBucketWeightsByHandClass | Bucket range mass into practical preflop hand classes. |
rangeBucketWeightsByNotation | Aggregate combo weights into notation buckets such as AKs and QQ. |
rangeFromNotationWeights | Build a dense range from notation-weight entries. |
rangeBlockerPressureByCard | Measure how much range mass each deck card blocks. |
rangeRemovalSensitivityVsHero | Estimate hero-equity sensitivity to removing each live card from villain range. |