exactHeroEquityRunoutQuantiles
Exact distribution of hero equity over all turn/river runouts — mean, variance, and p05/p50/p95 — vs a random villain or an optional weighted range.
exactHeroEquityRunoutQuantiles(heroHoleCards: CardInput, boardCards: CardInput, range?: Float64Array | SparseRangeSpec): HeroEquityRunoutQuantilesResult
See Packed card input and SparseRangeSpec.
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
Mean equity on a draw-heavy board hides bad runouts — enumerate all completions and read the spread (tail risk, variance) for study or bot thresholds.
How to use
const poker = require('poker-calculations');
const hero = ['Ah', 'Kh'];
const flop = ['Qh', 'Jh', '2c'];
const q = poker.exactHeroEquityRunoutQuantiles(hero, flop);
console.log('Mean:', q.mean);
console.log('p05 / p50 / p95:', q.p05, q.p50, q.p95);
console.log('Runouts:', q.n);
Omit range for equity vs a uniform random villain; pass Float64Array(1326) or sparse spec for a weighted range (heavier). Board must be 3 or 4 cards.
Return type
HeroEquityRunoutQuantilesResult.
See also
exactHeroEquityRunoutQuantilesAsync · exactHuEquityVsRange · Tournament, runouts, and bots