UNPKG

ultra-mega-enumerator

Version:

Ultra Mega Enumerator is a lightweight library designed to enumerate various combinatorial objects.

33 lines (32 loc) 1.35 kB
import { BitSet } from './BitSet'; /** * Class representing a Combination, which extends BitSet to manage combinations * of bits. It includes additional methods specific to combination logic. */ export declare class Combination extends BitSet { constructor(n: number); getN(): number; static fromBooleanArray(array: boolean[]): Combination; static createWithSizeAndSet(n: number, set: Set<number>): Combination; asSequence(): number[]; combinationString(): string; getIntervalVector(): number[]; getCombinationAsArray(): number[]; intersect(c: Combination): Combination; minus(c: Combination): Combination; static merge(a: Combination, b: Combination): Combination; mergeWith(a: Combination): Combination; symmetricDifference(y: Combination): Combination; rotate(t: number): Combination; static generateRandom(n: number, k: number): Combination; static combinationFromBinaryArray(bitArray: boolean[]): Combination; static combinationFromBitSet(x: BitSet): Combination; partition(sequence: number[]): Combination[]; private partitionByIndices; private copyFrom; copy(): Combination; equals(obj: any): boolean; toString(): string; static generateAll(n: number, k: number): Combination[]; static combinationRefinements(c: Combination): Combination[]; }