2222
2323import add = require( '@stdlib/complex/float64/base/add' ) ;
2424import assert = require( '@stdlib/complex/float64/base/assert' ) ;
25+ import div = require( '@stdlib/complex/float64/base/div' ) ;
26+ import identity = require( '@stdlib/complex/float64/base/identity' ) ;
2527import mul = require( '@stdlib/complex/float64/base/mul' ) ;
2628import muladd = require( '@stdlib/complex/float64/base/mul-add' ) ;
29+ import neg = require( '@stdlib/complex/float64/base/neg' ) ;
2730import scale = require( '@stdlib/complex/float64/base/scale' ) ;
31+ import sub = require( '@stdlib/complex/float64/base/sub' ) ;
2832
2933/**
3034* Interface describing the `base` namespace.
@@ -39,20 +43,11 @@ interface Namespace {
3943 *
4044 * @example
4145 * var Complex128 = require( '@stdlib/complex/float64/ctor' );
42- * var real = require( '@stdlib/complex/float64/real' );
43- * var imag = require( '@stdlib/complex/float64/imag' );
4446 *
4547 * var z = new Complex128( 5.0, 3.0 );
46- * // returns <Complex128>
4748 *
4849 * var out = ns.add( z, z );
49- * // returns <Complex128>
50- *
51- * var re = real( out );
52- * // returns 10.0
53- *
54- * var im = imag( out );
55- * // returns 6.0
50+ * // returns <Complex128>[ 10.0, 6.0 ]
5651 *
5752 * @example
5853 * var Float64Array = require( '@stdlib/array/float64' );
@@ -80,6 +75,38 @@ interface Namespace {
8075 */
8176 assert : typeof assert ;
8277
78+ /**
79+ * Divides two double-precision complex floating-point numbers.
80+ *
81+ * @param z1 - complex number
82+ * @param z2 - complex number
83+ * @returns result
84+ *
85+ * @example
86+ * var Complex128 = require( '@stdlib/complex/float64/ctor' );
87+ *
88+ * var z1 = new Complex128( -13.0, -1.0 );
89+ * var z2 = new Complex128( -2.0, 1.0 );
90+ *
91+ * var out = ns.div( z1, z2 );
92+ * // returns <Complex128>[ 5.0, 3.0 ]
93+ */
94+ div : typeof div ;
95+
96+ /**
97+ * Evaluates the identity function for double-precision complex floating-point number.
98+ *
99+ * @param z - input value
100+ * @returns input value
101+ *
102+ * @example
103+ * var Complex128 = require( '@stdlib/complex/float64/ctor' );
104+ *
105+ * var v = ns.identity( new Complex128( -1.0, 2.0 ) );
106+ * // returns <Complex128>[ -1.0, 2.0 ]
107+ */
108+ identity : typeof identity ;
109+
83110 /**
84111 * Multiplies two double-precision complex floating-point numbers.
85112 *
@@ -89,23 +116,12 @@ interface Namespace {
89116 *
90117 * @example
91118 * var Complex128 = require( '@stdlib/complex/float64/ctor' );
92- * var real = require( '@stdlib/complex/float64/real' );
93- * var imag = require( '@stdlib/complex/float64/imag' );
94119 *
95120 * var z1 = new Complex128( 5.0, 3.0 );
96- * // returns <Complex128>
97- *
98121 * var z2 = new Complex128( -2.0, 1.0 );
99- * // returns <Complex128>
100122 *
101123 * var out = ns.mul( z1, z2 );
102- * // returns <Complex128>
103- *
104- * var re = real( out );
105- * // returns -13.0
106- *
107- * var im = imag( out );
108- * // returns -1.0
124+ * // returns <Complex128>[ -13.0, -1.0 ]
109125 *
110126 * @example
111127 * var Float64Array = require( '@stdlib/array/float64' );
@@ -138,26 +154,13 @@ interface Namespace {
138154 *
139155 * @example
140156 * var Complex128 = require( '@stdlib/complex/float64/ctor' );
141- * var real = require( '@stdlib/complex/float64/real' );
142- * var imag = require( '@stdlib/complex/float64/imag' );
143157 *
144158 * var z1 = new Complex128( 5.0, 3.0 );
145- * // returns <Complex128>
146- *
147159 * var z2 = new Complex128( -2.0, 1.0 );
148- * // returns <Complex128>
149- *
150160 * var z3 = new Complex128( 7.0, -8.0 );
151- * // returns <Complex128>
152161 *
153162 * var out = ns.muladd( z1, z2, z3 );
154- * // returns <Complex128>
155- *
156- * var re = real( out );
157- * // returns -6.0
158- *
159- * var im = imag( out );
160- * // returns -9.0
163+ * // returns <Complex128>[ -6.0, -9.0 ]
161164 *
162165 * @example
163166 * var Float64Array = require( '@stdlib/array/float64' );
@@ -177,6 +180,38 @@ interface Namespace {
177180 */
178181 muladd : typeof muladd ;
179182
183+ /**
184+ * Negates a double-precision complex floating-point number.
185+ *
186+ * @param z - complex number
187+ * @returns result
188+ *
189+ * @example
190+ * var Complex128 = require( '@stdlib/complex/float64/ctor' );
191+ *
192+ * var z1 = new Complex128( -4.2, 5.5 );
193+ *
194+ * var out = ns.neg( z1 );
195+ * // returns <Complex128>[ 4.2, -5.5 ]
196+ *
197+ * @example
198+ * var Complex128 = require( '@stdlib/complex/float64/ctor' );
199+ *
200+ * var z2 = new Complex128( 0.0, 0.0 );
201+ *
202+ * var out = ns.neg( z2 );
203+ * // returns <Complex128>[ -0.0, -0.0 ]
204+ *
205+ * @example
206+ * var Complex128 = require( '@stdlib/complex/float64/ctor' );
207+ *
208+ * var z3 = new Complex128( NaN, NaN );
209+ *
210+ * var out = ns.neg( z3 );
211+ * // returns <Complex128>[ NaN, NaN ]
212+ */
213+ neg : typeof neg ;
214+
180215 /**
181216 * Scales a double-precision complex floating-point number by a real-valued double-precision floating-point scalar constant.
182217 *
@@ -186,20 +221,11 @@ interface Namespace {
186221 *
187222 * @example
188223 * var Complex128 = require( '@stdlib/complex/float64/ctor' );
189- * var real = require( '@stdlib/complex/float64/real' );
190- * var imag = require( '@stdlib/complex/float64/imag' );
191224 *
192225 * var z = new Complex128( 5.0, 3.0 );
193- * // returns <Complex128>
194226 *
195227 * var out = ns.scale( 5.0, z );
196- * // returns <Complex128>
197- *
198- * var re = real( out );
199- * // returns 25.0
200- *
201- * var im = imag( out );
202- * // returns 15.0
228+ * // returns <Complex128>[ 25.0, 15.0 ]
203229 *
204230 * @example
205231 * var Float64Array = require( '@stdlib/array/float64' );
@@ -220,6 +246,24 @@ interface Namespace {
220246 * // returns <Float64Array>[ 25.0, 15.0 ]
221247 */
222248 scale : typeof scale ;
249+
250+ /**
251+ * Subtracts two double-precision complex floating-point numbers.
252+ *
253+ * @param z1 - complex number
254+ * @param z2 - complex number
255+ * @returns result
256+ *
257+ * @example
258+ * var Complex128 = require( '@stdlib/complex/float64/ctor' );
259+ *
260+ * var z1 = new Complex128( 5.0, 3.0 );
261+ * var z2 = new Complex128( -2.0, 1.0 );
262+ *
263+ * var out = ns.sub( z1, z2 );
264+ * // returns <Complex128>[ 7.0, 2.0 ]
265+ */
266+ sub : typeof sub ;
223267}
224268
225269/**
0 commit comments