exactEquityCardRemovalGradientAsync
Non-blocking exactEquityCardRemovalGradient — same 52-vector gradient with optional cancellation.
exactEquityCardRemovalGradientAsync(heroHoleCards: CardInput, boardCards: CardInput, range: Float64Array | SparseRangeSpec, options?: AsyncOptions): Promise<CardRemovalGradientResult>
See AsyncOptions.
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
Same as sync when the exact gradient over a full range would block the event loop — use await and optional AbortSignal.
How to use
const poker = require('poker-calculations');
const range = new Float64Array(1326);
range.fill(1 / 1326);
const { gradient, baseEquity } = await poker.exactEquityCardRemovalGradientAsync(
['Ah', 'Kh'],
['Qh', 'Jh', '2c'],
range,
);
console.log({ baseEquity, gradientLength: gradient.length });
Return type
See also
exactEquityCardRemovalGradient · AsyncOptions · CardRemovalGradientResult