exactInformationRegretVsClairvoyant
Chip EV gap between clairvoyant play (seeing the final runout) and realistic call/fold EV on the current board against a weighted range.
exactInformationRegretVsClairvoyant(heroHoleCards: CardInput, boardCards: CardInput, range: Float64Array | SparseRangeSpec, potBeforeCall: number, toCall: number): number
Returns a single number in chips. 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
You want to quantify information regret on one street — how many chips hero gives up by not knowing the runout when facing a call decision vs a weighted villain range.
How to use
const poker = require('poker-calculations');
const range = new Float64Array(1326);
range.fill(1 / 1326);
const regret = poker.exactInformationRegretVsClairvoyant(
['Ah', 'Kh'],
['Qh', 'Jh', '2c'],
range,
100,
50,
);
console.log('EV gap (chips):', regret);
Positive values mean hero's realistic line leaves chips on the table relative to clairvoyant play. potBeforeCall and toCall are the pot and call size before hero acts.
Return type
Scalar number — chip EV difference (clairvoyant minus realistic optimal).
See also
exactHeroEquityRunoutQuantiles · materializeVillainRangeAfterBlockers · Tournament, runouts, and bots