Skip to main content

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

CardRemovalGradientResult.

See also

exactEquityCardRemovalGradient · AsyncOptions · CardRemovalGradientResult