mathjslab
Version:
MathJSLab - An interpreter with language syntax like MATLAB®/Octave, ISBN 978-65-00-82338-7.
195 lines (194 loc) • 14.2 kB
TypeScript
import * as TypeOfComplex from './ComplexInterface';
import { Evaluator } from './Evaluator';
/**
* # ComplexNumber
*
* An native `number` type complex number library.
*
* ## References
* * https://mathworld.wolfram.com/ComplexNumber.html
*/
declare class ComplexNumber implements TypeOfComplex.ComplexInterface<number, number, unknown> {
static readonly LOGICAL: number;
static readonly REAL: number;
static readonly COMPLEX: number;
static readonly defaultSettings: TypeOfComplex.ComplexConfig;
static readonly settings: TypeOfComplex.ComplexConfig;
static readonly isInstanceOf: TypeOfComplex.IsInstanceOfComplexHandler<ComplexNumber>;
static readonly set: (config: Partial<TypeOfComplex.ComplexConfig>) => void;
re: number;
im: number;
type: number;
parent: any;
static readonly setNumberType: TypeOfComplex.OneArgNoReturnComplexHandler<number, ComplexNumber>;
constructor(re?: TypeOfComplex.NumLike<number>, im?: TypeOfComplex.NumLike<number>, type?: TypeOfComplex.NumType<number>, parent?: TypeOfComplex.NumParent<unknown>);
static readonly create: (re?: TypeOfComplex.NumLike<number>, im?: TypeOfComplex.NumLike<number>, type?: TypeOfComplex.NumType<number>, parent?: TypeOfComplex.NumParent<unknown>) => ComplexNumber;
static readonly realSet: (value: ComplexNumber, re: TypeOfComplex.NumLike<number>) => void;
static readonly imagSet: (value: ComplexNumber, im: TypeOfComplex.NumLike<number>) => void;
static readonly realApply: (value: ComplexNumber, func: (re: number) => number) => void;
static readonly imagApply: (value: ComplexNumber, func: (im: number) => number) => void;
static readonly from: (obj: ComplexNumber) => ComplexNumber;
static readonly real: (z: ComplexNumber) => ComplexNumber;
static readonly imag: (z: ComplexNumber) => ComplexNumber;
static readonly realIsInteger: (z: ComplexNumber) => boolean;
static readonly imagIsInteger: (z: ComplexNumber) => boolean;
static readonly realIsFinite: (z: ComplexNumber) => boolean;
static readonly imagIsFinite: (z: ComplexNumber) => boolean;
static readonly realIsNaN: (z: ComplexNumber) => boolean;
static readonly imagIsNaN: (z: ComplexNumber) => boolean;
static readonly realIsNegative: (z: ComplexNumber) => boolean;
static readonly imagIsNegative: (z: ComplexNumber) => boolean;
static readonly realIsZero: (z: ComplexNumber) => boolean;
static readonly imagIsZero: (z: ComplexNumber) => boolean;
static readonly realIsPositive: (z: ComplexNumber) => boolean;
static readonly imagIsPositive: (z: ComplexNumber) => boolean;
static readonly realToNumber: (z: ComplexNumber) => number;
static readonly imagToNumber: (z: ComplexNumber) => number;
static readonly realLessThan: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly imagLessThan: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly realLessThanOrEqualTo: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly imagLessThanOrEqualTo: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly realEquals: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly imagEquals: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly realGreaterThanOrEqualTo: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly imagGreaterThanOrEqualTo: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly realGreaterThan: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly imagGreaterThan: (z: ComplexNumber, value: TypeOfComplex.NumLike<number>) => boolean;
static readonly parse: TypeOfComplex.ParseComplexHandler<number, ComplexNumber>;
static readonly unparseValue: TypeOfComplex.UnparseValueComplexHandler<number>;
static readonly unparse: TypeOfComplex.UnparseComplexHandler<number, ComplexNumber>;
unparse(): string;
static readonly unparseMathMLValue: TypeOfComplex.UnparseValueComplexHandler<number>;
static readonly precedence: TypeOfComplex.PrecedenceComplexHandler<number, ComplexNumber, Evaluator, number>;
static readonly unparseMathML: TypeOfComplex.UnparseMathMLComplexHandler<number, ComplexNumber, Evaluator, number>;
static copy: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
copy: () => ComplexNumber;
static toMaxPrecisionValue: TypeOfComplex.OneArgValueComplexHandler<number>;
static toMaxPrecision: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static epsilonValue(): number;
static epsilon: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static random: TypeOfComplex.RandomComplexHandler<number, ComplexNumber>;
static eq: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static ne: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static compareValue: TypeOfComplex.CompareValueComplexHandler<number>;
static cmp: TypeOfComplex.CmpComplexHandler<number, ComplexNumber>;
static minMaxArrayReal: TypeOfComplex.MinMaxArrayComplexHandler<number, ComplexNumber>;
static minMaxArrayRealWithIndex: TypeOfComplex.MinMaxArrayWithIndexComplexHandler<number, ComplexNumber>;
static minMaxArrayComplex: TypeOfComplex.MinMaxArrayComplexHandler<number, ComplexNumber>;
static minMaxArrayComplexWithIndex: TypeOfComplex.MinMaxArrayWithIndexComplexHandler<number, ComplexNumber>;
static min: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static minWise: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static max: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static maxWise: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static lt: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static le: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static gt: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static ge: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static false: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static true: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static logical: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static toLogical: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
toLogical: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static and: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static or: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static xor: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static not: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static zero: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static one: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static onediv2: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static minusonediv2: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static minusone: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static pi: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static pidiv2: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static onei: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static onediv2i: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static minusonediv2i: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static minusonei: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static two: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static sqrt2pi: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static e: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static NaN_0: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static inf_0: TypeOfComplex.NoArgComplexHandler<number, ComplexNumber>;
static add: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static sub: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static neg: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static mul: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static mulAndSumTo: TypeOfComplex.ThreeArgComplexHandler<number, ComplexNumber>;
static rdiv: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static ldiv: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static inv: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static power: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static root: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static absValue: TypeOfComplex.AbsoluteValueComplexHandler<number, ComplexNumber>;
static abs2Value: TypeOfComplex.AbsoluteValueComplexHandler<number, ComplexNumber>;
static abs: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static abs2: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static hypot: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static arg: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static conj: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static mod: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static rem: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static fix: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static ceil: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static floor: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static round: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static sign: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static sqrt: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static exp: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static log: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static logb: TypeOfComplex.TwoArgComplexHandler<number, ComplexNumber>;
static log2: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static log10: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static deg2rad: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static rad2deg: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static sin: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static sind: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static cos: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static cosd: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static tan: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static tand: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static csc: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static cscd: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static sec: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static secd: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static cot: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static cotd: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static asin: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static asind: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acos: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acosd: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static atan: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static atand: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acsc: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acscd: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static asec: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static asecd: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acot: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acotd: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static sinh: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static cosh: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static tanh: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static csch: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static sech: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static coth: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static asinh: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acosh: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static atanh: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acsch: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static asech: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static acoth: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static gamma: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static factorial: TypeOfComplex.OneArgComplexHandler<number, ComplexNumber>;
static readonly applyFunction: TypeOfComplex.PartApplyComplexHandlerTable<number>;
static mapFunction: Record<string, (z: ComplexNumber) => ComplexNumber>;
static twoArgFunction: Record<string, (x: ComplexNumber, y: ComplexNumber) => ComplexNumber>;
}
/**
* The static type ensures compatibility with the contract (TypeOfComplex.ComplexInterface).
*/
type ComplexNumberStatic = typeof ComplexNumber extends TypeOfComplex.ComplexInterfaceStatic<number, ComplexNumber> ? typeof ComplexNumber : never;
export { type ComplexNumberStatic, ComplexNumber };
declare const _default: {
ComplexNumber: typeof ComplexNumber;
};
export default _default;