exactRangeDominatedComboFraction
Weighted fraction of live villain combos strictly weaker than hero's best five on a complete river board.
exactRangeDominatedComboFraction(heroHoleCards: CardInput, boardCards: CardInput, range: Float64Array | SparseRangeSpec): number
Range: dense Float64Array(1326) or SparseRangeSpec. See Packed card input.
Import
const poker = require('poker-calculations');
ESM (Node):
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const poker = require('poker-calculations');
When to use
On the river, you want the exact share of villain range weight in dominated combos — for range reports, blocker analysis, or comparing to Monte Carlo heuristics.
How to use
const poker = require('poker-calculations');
const hero = ['Ah', 'Kh'];
const river = ['Qh', 'Jh', '2c', 'Ts', '9d'];
const range = new Float64Array(1326);
range.fill(1 / 1326);
const dominatedFraction = poker.exactRangeDominatedComboFraction(hero, river, range);
console.log('Weighted dominated share:', dominatedFraction);
boardCards must be exactly five cards. Blocked combos are skipped; the range must have positive total weight on live combos.
Return type
Scalar in [0, 1] — dominated combo weight divided by total live combo weight.
See also
exactHuEquityVsRange · materializeVillainRangeAfterBlockers · Range equity (exact)