UNPKG

ultra-mega-enumerator

Version:

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

83 lines (82 loc) 2.56 kB
export declare enum Operation { Add = "Add", Subtract = "Subtract", Multiply = "Multiply", Divide = "Divide", X = "X", Y = "Y", Power = "Power", Log = "Log", Min = "Min", Max = "Max", MaxZeroX = "MaxZeroX", MinZeroX = "MinZeroX", MaxZeroY = "MaxZeroY", MinZeroY = "MinZeroY", Modulo = "Modulo", Bounce = "Bounce", And = "And", Or = "Or", Xor = "Xor", ShiftLeft = "ShiftLeft", ShiftRight = "ShiftRight", LCM = "LCM", GCD = "GCD", Equal = "Equal", NotEqual = "NotEqual", LessThan = "LessThan", LessThanOrEqual = "LessThanOrEqual", GreaterThan = "GreaterThan", GreaterThanOrEqual = "GreaterThanOrEqual", Binomial = "Binomial", ExpandBits = "ExpandBits", ExpandBitsFill = "ExpandBitsFill", CantorIntervalBinaryNumber = "CantorIntervalBinaryNumber", PermuteBits = "PermuteBits", HardThreshold = "HardThreshold" } export declare enum Combiner { Product = "Product", NegativeProduct = "NegativeProduct", Convolution = "Convolution", Triangular = "Triangular", Recycle = "Recycle", LCM = "LCM", Apply = "Apply", Reduce = "Reduce", MixedRadix = "Mixed Radix", Bits = "Bits", Trits = "Trits" } export declare class Sequence { private items; constructor(...items: number[]); toString(): string; add(item: number): void; size(): number; get(index: number): number | undefined; set(index: number, value: number): void; toArray(): number[]; signs(): Sequence; isNatural(): boolean; difference(): Sequence; cyclicalDifference(): Sequence; antidifference(k: number): Sequence; cyclicalAntidifference(k: number): Sequence; getSymmetries(): number[]; static parse(s: string): Sequence; getMean(): number; sum(): number; getMin(): number; getMax(): number; rotate(n: number): Sequence; static fromArray(arr: number[]): Sequence; frequencyMap(): Map<number, number>; static genRnd(length: number, amp: number, sum: number, maxAmp: number, exclude0: boolean): Sequence; private static calculateIntervalVector; static calcIntervalVector(input: boolean[]): Sequence; static calcIntervalVectorBitSet(input: boolean[], n: number): Sequence; static calcIntervalVectorDistinct(sequence: Sequence): Map<number, Sequence>; static calcIntervalVectorInts(input: number[]): Map<number, Sequence>; static combine(combiner: Combiner, operation: Operation, x: Sequence, y: Sequence): Sequence; }