simple-squiggle/node_modules/complex.js/complex.d.ts

324 lines
5.4 KiB
TypeScript

type AValue =
| Complex
| { im: number; re: number }
| { abs: number; arg: number }
| { r: number; phi: number }
| [number, number]
| string
| number
| null
| undefined;
type BValue = number | undefined;
export function Complex(a: AValue, b?: BValue): Complex;
export default Complex;
/**
*
* This class allows the manipulation of complex numbers.
* You can pass a complex number in different formats. Either as object, double, string or two integer parameters.
*
* Object form
* { re: <real>, im: <imaginary> }
* { arg: <angle>, abs: <radius> }
* { phi: <angle>, r: <radius> }
*
* Array / Vector form
* [ real, imaginary ]
*
* Double form
* 99.3 - Single double value
*
* String form
* '23.1337' - Simple real number
* '15+3i' - a simple complex number
* '3-i' - a simple complex number
*
* Example:
*
* var c = new Complex('99.3+8i');
* c.mul({r: 3, i: 9}).div(4.9).sub(3, 2);
*
*/
export class Complex {
re: number;
im: number;
constructor(a: AValue, b?: BValue);
/**
* Calculates the sign of a complex number, which is a normalized complex
*
*/
sign(): Complex;
/**
* Adds two complex numbers
*
*/
add(a: AValue, b?: BValue): Complex;
/**
* Subtracts two complex numbers
*
*/
sub(a: AValue, b?: BValue): Complex;
/**
* Multiplies two complex numbers
*
*/
mul(a: AValue, b?: BValue): Complex;
/**
* Divides two complex numbers
*
*/
div(a: AValue, b?: BValue): Complex;
/**
* Calculate the power of two complex numbers
*
*/
pow(a: AValue, b?: BValue): Complex;
/**
* Calculate the complex square root
*
*/
sqrt(): Complex;
/**
* Calculate the complex exponent
*
*/
exp(): Complex;
/**
* Calculate the complex exponent and subtracts one.
*
* This may be more accurate than `Complex(x).exp().sub(1)` if
* `x` is small.
*
*/
expm1(): Complex;
/**
* Calculate the natural log
*
*/
log(): Complex;
/**
* Calculate the magnitude of the complex number
*
*/
abs(): number;
/**
* Calculate the angle of the complex number
*
*/
arg(): number;
/**
* Calculate the sine of the complex number
*
*/
sin(): Complex;
/**
* Calculate the cosine
*
*/
cos(): Complex;
/**
* Calculate the tangent
*
*/
tan(): Complex;
/**
* Calculate the cotangent
*
*/
cot(): Complex;
/**
* Calculate the secant
*
*/
sec(): Complex;
/**
* Calculate the cosecans
*
*/
csc(): Complex;
/**
* Calculate the complex arcus sinus
*
*/
asin(): Complex;
/**
* Calculate the complex arcus cosinus
*
*/
acos(): Complex;
/**
* Calculate the complex arcus tangent
*
*/
atan(): Complex;
/**
* Calculate the complex arcus cotangent
*
*/
acot(): Complex;
/**
* Calculate the complex arcus secant
*
*/
asec(): Complex;
/**
* Calculate the complex arcus cosecans
*
*/
acsc(): Complex;
/**
* Calculate the complex sinh
*
*/
sinh(): Complex;
/**
* Calculate the complex cosh
*
*/
cosh(): Complex;
/**
* Calculate the complex tanh
*
*/
tanh(): Complex;
/**
* Calculate the complex coth
*
*/
coth(): Complex;
/**
* Calculate the complex coth
*
*/
csch(): Complex;
/**
* Calculate the complex sech
*
*/
sech(): Complex;
/**
* Calculate the complex asinh
*
*/
asinh(): Complex;
/**
* Calculate the complex acosh
*
*/
acosh(): Complex;
/**
* Calculate the complex atanh
*
*/
atanh(): Complex;
/**
* Calculate the complex acoth
*
*/
acoth(): Complex;
/**
* Calculate the complex acsch
*
*/
acsch(): Complex;
/**
* Calculate the complex asech
*
*/
asech(): Complex;
/**
* Calculate the complex inverse 1/z
*
*/
inverse(): Complex;
/**
* Returns the complex conjugate
*
*/
conjugate(): Complex;
/**
* Gets the negated complex number
*
*/
neg(): Complex;
/**
* Ceils the actual complex number
*
*/
ceil(places: number): Complex;
/**
* Floors the actual complex number
*
*/
floor(places: number): Complex;
/**
* Ceils the actual complex number
*
*/
round(places: number): Complex;
/**
* Compares two complex numbers
*
* **Note:** new Complex(Infinity).equals(Infinity) === false
*
*/
equals(a: AValue, b?: BValue): boolean;
/**
* Clones the actual object
*
*/
clone(): Complex;
/**
* Gets a string of the actual complex number
*
*/
toString(): string;
/**
* Returns the actual number as a vector
*
*/
toVector(): number[];
/**
* Returns the actual real value of the current object
*
* @returns {number|null}
*/
valueOf(): number | null;
/**
* Determines whether a complex number is not on the Riemann sphere.
*
*/
isNaN(): boolean;
/**
* Determines whether or not a complex number is at the zero pole of the
* Riemann sphere.
*
*/
isZero(): boolean;
/**
* Determines whether a complex number is not at the infinity pole of the
* Riemann sphere.
*
*/
isFinite(): boolean;
/**
* Determines whether or not a complex number is at the infinity pole of the
* Riemann sphere.
*
*/
isInfinite(): boolean;
static ZERO: Complex;
static ONE: Complex;
static I: Complex;
static PI: Complex;
static E: Complex;
static INFINITY: Complex;
static NAN: Complex;
static EPSILON: number;
}