UNPKG

ultra-mega-enumerator

Version:

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

31 lines (30 loc) 1.44 kB
import { Combination } from "."; /** * The {@code ImmutableCombination} class represents a combination of elements that cannot * be modified after creation. It encapsulates an instance of the {@code Combination} class, * providing an immutable interface for handling set operations relevant to combinatorial * structures in various contexts, including music theory. */ export declare class ImmutableCombination { protected readonly combination: Combination; protected constructor(combination: Combination); static fromCombination(c: Combination): ImmutableCombination; static fromBinarySequence(seq: boolean[]): ImmutableCombination; static createWithSize(n: number): ImmutableCombination; static createWithSizeAndSet(n: number, set: Set<number>): ImmutableCombination; getN(): number; getK(): number; combinationString(): string; getIntervalVector(): number[]; rotate(t: number): ImmutableCombination; intersect(c: ImmutableCombination): ImmutableCombination; minus(c: ImmutableCombination): ImmutableCombination; static merge(a: ImmutableCombination, b: ImmutableCombination): ImmutableCombination; mergeWith(c: ImmutableCombination): ImmutableCombination; symmetricDifference(y: ImmutableCombination): ImmutableCombination; get(bitIndex: number): boolean; isEmpty(): boolean; toString(): string; asSequence(): number[]; equals(obj: any): boolean; }