/** @packageDocumentation * @module Numerics */ import { BeJSONFunctions } from "../Geometry"; import { Angle } from "../geometry3d/Angle"; /** * OPerations on a "complex number" class with real part `x` and complex part `y` * @internal */ export declare class Complex implements BeJSONFunctions { private _x; /** Real part */ get x(): number; set x(value: number); private _y; /** Imaginary part */ get y(): number; set y(value: number); constructor(x?: number, y?: number); /** set x and y parts from args. */ set(x?: number, y?: number): void; /** set `this.x` and `this.y` from `other.x` and `other.y` */ setFrom(other: Complex): void; /** clone the complex x,y */ clone(): Complex; /** test for near equality using coordinate tolerances */ isAlmostEqual(other: Complex): boolean; /** Create a new Complex instance from given x and y. */ static create(x?: number, y?: number, result?: Complex): Complex; /** Return the complex sum `this+other` */ plus(other: Complex, result?: Complex): Complex; /** Return the complex difference `this-other` */ minus(other: Complex, result?: Complex): Complex; /** Return the complex product `this * other` */ times(other: Complex, result?: Complex): Complex; /** Return the complex product `this * x+i*y`. That is, the second Complex value exists via the args without being formally created as an instance. */ timesXY(x: number, y: number, result?: Complex): Complex; /** Return the mangitude of the complex number */ magnitude(): number; /** Return the angle from x axis to the vector (x,y) */ angle(): Angle; /** Return the xy plane distance between this and other */ distance(other: Complex): number; /** Return the squared xy plane distance between this and other. */ magnitudeSquared(): number; /** Return the complex division `this / other` */ divide(other: Complex, result?: Complex): Complex | undefined; /** Return the complex square root of this. */ sqrt(result?: Complex): Complex; /** set the complex x,y from a json object of the form like * * x,y key value pairs: `{x:1,y:2}` * * array of numbers: `[1,2]` */ setFromJSON(json?: any): void; /** Create a `Complex` instance from a json object. */ static fromJSON(json?: any): Complex; /** * Convert an Complex to a JSON object. * @return {*} [x,y] */ toJSON(): any; } //# sourceMappingURL=Complex.d.ts.map