UNPKG

fignumbers

Version:

A comprehensive TypeScript library for generating figurate numbers across multiple dimensions

24 lines 864 B
import { binomialCoeff, factorialIter, risingFactorial, } from "../utils/helpersMultidimensionalFigNumbers.js"; export class KDimensionalHyperOctahedronGenerator { *generate({ step = 1n, k = 5n }) { let delta = 1n; while (true) { let acc = 0n; for (let i = 0n; i <= k - 1n; i++) { acc += (binomialCoeff(k - 1n, i) * risingFactorial(delta - i, k)) / factorialIter(k); } yield acc; delta += step; } } } export class KDimensionalHyperOctahedronSpecificGenerator { constructor(k) { this.baseGenerator = new KDimensionalHyperOctahedronGenerator(); this.k = k; } *generate({ step = 1n }) { return yield* this.baseGenerator.generate({ step, k: this.k }); } } //# sourceMappingURL=KDimensionalHyperOctahedronGenerator.js.map