Skip to main content

exactEquityCardRemovalGradient

Exact 52-vector sensitivity of HU equity vs a range when each remaining deck card is treated as dead — plus baseline equity.

exactEquityCardRemovalGradient(heroHoleCards: CardInput, boardCards: CardInput, range: Float64Array | SparseRangeSpec): CardRemovalGradientResult

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 need exact card-removal effects on equity vs a weighted range — for blocker analysis, study backends, or comparing to the Monte Carlo heuristic equityDeltaIfCardRemoved.

How to use

const poker = require('poker-calculations');

const range = new Float64Array(1326);
range.fill(1 / 1326);

const { gradient, baseEquity } = poker.exactEquityCardRemovalGradient(
['Ah', 'Kh'],
['Qh', 'Jh', '2c'],
range,
);

console.log('Base equity:', baseEquity);
console.log('Sample gradient entry:', gradient[50]);

Positive gradient[d] means equity drops when card d is removed from the deck (typical for cards that help villain combos).

Return type

CardRemovalGradientResult.

See also

exactEquityCardRemovalGradientAsync · equityDeltaIfCardRemoved · exactHuEquityVsRange