Skip to main content

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)