@@ -26,6 +26,7 @@ import dasum = require( '@stdlib/blas/base/ndarray/dasum' );
2626import daxpy = require( '@stdlib/blas/base/ndarray/daxpy' ) ;
2727import dcopy = require( '@stdlib/blas/base/ndarray/dcopy' ) ;
2828import ddot = require( '@stdlib/blas/base/ndarray/ddot' ) ;
29+ import dswap = require( '@stdlib/blas/base/ndarray/dswap' ) ;
2930import gasum = require( '@stdlib/blas/base/ndarray/gasum' ) ;
3031import gaxpy = require( '@stdlib/blas/base/ndarray/gaxpy' ) ;
3132import gcopy = require( '@stdlib/blas/base/ndarray/gcopy' ) ;
@@ -48,18 +49,16 @@ interface Namespace {
4849 * @returns output ndarray
4950 *
5051 * @example
51- * var Complex64Array = require( '@stdlib/array /complex64' );
52+ * var Complex64Vector = require( '@stdlib/ndarray/vector /complex64' );
5253 * var Complex64 = require( '@stdlib/complex/float32/ctor' );
53- * var scalar2ndarray = require( '@stdlib/ndarray/base/from-scalar' );
54- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
55- *
56- * var xbuf = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 ] );
57- * var x = new ndarray( 'complex64', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
54+ * var scalar2ndarray = require( '@stdlib/ndarray/from-scalar' );
5855 *
59- * var ybuf = new Complex64Array ( [ 1.0, 1 .0, 1 .0, 1 .0, 1 .0, 1 .0, 1 .0, 1 .0, 1 .0, 1 .0 ] );
60- * var y = new ndarray( 'complex64', ybuf, [ 5 ], [ 1 ], 0, 'row-major' );
56+ * var x = new Complex64Vector ( [ 1.0, 2 .0, 3 .0, 4 .0, 5 .0, 6 .0, 7 .0, 8 .0, 9 .0, 10 .0 ] );
57+ * var y = new Complex64Vector( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1. 0, 1.0 ] );
6158 *
62- * var alpha = scalar2ndarray( new Complex64( 1.0, 2.0 ), 'complex64', 'row-major' );
59+ * var alpha = scalar2ndarray( new Complex64( 1.0, 2.0 ), {
60+ * 'dtype': 'complex64'
61+ * });
6362 *
6463 * var z = ns.caxpy( [ x, y, alpha ] );
6564 * // returns <ndarray>[ <Complex64>[ -2.0, 5.0 ], <Complex64>[ -4.0, 11.0 ], <Complex64>[ -6.0, 17.0 ], <Complex64>[ -8.0, 23.0 ], <Complex64>[ -10.0, 29.0 ] ]
@@ -76,14 +75,10 @@ interface Namespace {
7675 * @returns output ndarray
7776 *
7877 * @example
79- * var Complex64Array = require( '@stdlib/array/complex64' );
80- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
81- *
82- * var xbuf = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
83- * var x = new ndarray( 'complex64', xbuf, [ 3 ], [ 1 ], 0, 'row-major' );
78+ * var Complex64Vector = require( '@stdlib/ndarray/vector/complex64' );
8479 *
85- * var ybuf = new Complex64Array ( [ 0 .0, 0 .0, 0 .0, 0 .0, 0 .0, 0 .0 ] );
86- * var y = new ndarray( 'complex64', ybuf, [ 3 ], [ 1 ] , 0, 'row-major' );
80+ * var x = new Complex64Vector ( [ 1 .0, 2 .0, 3 .0, 4 .0, 5 .0, 6 .0 ] );
81+ * var y = new Complex64Vector( [ 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0 ] );
8782 *
8883 * var z = ns.ccopy( [ x, y ] );
8984 * // returns <ndarray>[ <Complex64>[ 1.0, 2.0 ], <Complex64>[ 3.0, 4.0 ], <Complex64>[ 5.0, 6.0 ] ]
@@ -100,11 +95,9 @@ interface Namespace {
10095 * @returns sum
10196 *
10297 * @example
103- * var Float64Array = require( '@stdlib/array/float64' );
104- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
98+ * var Float64Vector = require( '@stdlib/ndarray/vector/float64' );
10599 *
106- * var xbuf = new Float64Array( [ 1.0, -2.0, 3.0, -4.0, 5.0 ] );
107- * var x = new ndarray( 'float64', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
100+ * var x = new Float64Vector( [ 1.0, -2.0, 3.0, -4.0, 5.0 ] );
108101 *
109102 * var y = ns.dasum( [ x ] );
110103 * // returns 15.0
@@ -118,17 +111,15 @@ interface Namespace {
118111 * @returns output ndarray
119112 *
120113 * @example
121- * var Float64Array = require( '@stdlib/array/float64' );
122- * var scalar2ndarray = require( '@stdlib/ndarray/base/from-scalar' );
123- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
114+ * var Float64Vector = require( '@stdlib/ndarray/vector/float64' );
115+ * var scalar2ndarray = require( '@stdlib/ndarray/from-scalar' );
124116 *
125- * var xbuf = new Float64Array ( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
126- * var x = new ndarray( 'float64', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
117+ * var x = new Float64Vector ( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
118+ * var y = new Float64Vector( [ 1.0, 1.0, 1.0, 1. 0, 1.0 ] );
127119 *
128- * var ybuf = new Float64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0 ] );
129- * var y = new ndarray( 'float64', ybuf, [ 5 ], [ 1 ], 0, 'row-major' );
130- *
131- * var alpha = scalar2ndarray( 5.0, 'float64', 'row-major' );
120+ * var alpha = scalar2ndarray( 5.0, {
121+ * 'dtype': 'float64'
122+ * });
132123 *
133124 * var z = ns.daxpy( [ x, y, alpha ] );
134125 * // returns <ndarray>[ 6.0, 11.0, 16.0, 21.0, 26.0 ]
@@ -145,14 +136,10 @@ interface Namespace {
145136 * @returns output ndarray
146137 *
147138 * @example
148- * var Float64Array = require( '@stdlib/array/float64' );
149- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
139+ * var Float64Vector = require( '@stdlib/ndarray/vector/float64' );
150140 *
151- * var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
152- * var x = new ndarray( 'float64', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
153- *
154- * var ybuf = new Float64Array( [ 0.0, 0.0, 0.0, 0.0, 0.0 ] );
155- * var y = new ndarray( 'float64', ybuf, [ 5 ], [ 1 ], 0, 'row-major' );
141+ * var x = new Float64Vector( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
142+ * var y = new Float64Vector( [ 0.0, 0.0, 0.0, 0.0, 0.0 ] );
156143 *
157144 * var z = ns.dcopy( [ x, y ] );
158145 * // returns <ndarray>[ 1.0, 2.0, 3.0, 4.0, 5.0 ]
@@ -169,19 +156,40 @@ interface Namespace {
169156 * @returns dot product
170157 *
171158 * @example
159+ * var Float64Vector = require( '@stdlib/ndarray/vector/float64' );
160+ *
161+ * var x = new Float64Vector( [ 4.0, 2.0, -3.0, 5.0, -1.0 ] );
162+ * var y = new Float64Vector( [ 2.0, 6.0, -1.0, -4.0, 8.0 ] );
163+ *
164+ * var z = ns.ddot( [ x, y ] );
165+ * // returns -5.0
166+ */
167+ ddot : typeof ddot ;
168+
169+ /**
170+ * Interchanges two one-dimensional double-precision floating-point ndarrays.
171+ *
172+ * @param arrays - array-like object containing two input ndarrays
173+ * @returns second input ndarray
174+ *
175+ * @example
172176 * var Float64Array = require( '@stdlib/array/float64' );
173177 * var ndarray = require( '@stdlib/ndarray/base/ctor' );
174178 *
175- * var xbuf = new Float64Array( [ 4 .0, 2.0, - 3.0, 5 .0, -1 .0 ] );
179+ * var xbuf = new Float64Array( [ 1 .0, 2.0, 3.0, 4 .0, 5 .0 ] );
176180 * var x = new ndarray( 'float64', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
177181 *
178- * var ybuf = new Float64Array( [ 2 .0, 6 .0, -1 .0, -4 .0, 8 .0 ] );
182+ * var ybuf = new Float64Array( [ 6 .0, 7 .0, 8 .0, 9 .0, 10 .0 ] );
179183 * var y = new ndarray( 'float64', ybuf, [ 5 ], [ 1 ], 0, 'row-major' );
180184 *
181- * var z = ns.ddot( [ x, y ] );
182- * // returns -5.0
185+ * var z = ns.dswap( [ x, y ] );
186+ * // x => <ndarray>[ 6.0, 7.0, 8.0, 9.0, 10.0 ]
187+ * // y => <ndarray>[ 1.0, 2.0, 3.0, 4.0, 5.0 ]
188+ *
189+ * var bool = ( z === y );
190+ * // returns true
183191 */
184- ddot : typeof ddot ;
192+ dswap : typeof dswap ;
185193
186194 /**
187195 * Computes the sum of absolute values for all elements in a one-dimensional ndarray.
@@ -190,10 +198,9 @@ interface Namespace {
190198 * @returns sum
191199 *
192200 * @example
193- * var ndarray = require( '@stdlib/ndarray/base /ctor' );
201+ * var vector = require( '@stdlib/ndarray/vector /ctor' );
194202 *
195- * var xbuf = [ 1.0, -2.0, 3.0, -4.0, 5.0 ];
196- * var x = new ndarray( 'generic', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
203+ * var x = vector( [ 1.0, -2.0, 3.0, -4.0, 5.0 ], 'generic' );
197204 *
198205 * var y = ns.gasum( [ x ] );
199206 * // returns 15.0
@@ -207,16 +214,15 @@ interface Namespace {
207214 * @returns output ndarray
208215 *
209216 * @example
210- * var scalar2ndarray = require( '@stdlib/ndarray/base/from-scalar ' );
211- * var ndarray = require( '@stdlib/ndarray/base/ctor ' );
217+ * var vector = require( '@stdlib/ndarray/vector/ctor ' );
218+ * var scalar2ndarray = require( '@stdlib/ndarray/from-scalar ' );
212219 *
213- * var xbuf = [ 1.0, 2.0, 3.0, 4.0, 5.0 ];
214- * var x = new ndarray( 'generic', xbuf, [ 5 ], [ 1 ], 0, 'row-major ' );
220+ * var x = vector( [ 1.0, 2.0, 3.0, 4.0, 5.0 ], 'generic' ) ;
221+ * var y = vector( [ 1.0, 1.0, 1.0, 1.0, 1.0 ], 'generic ' );
215222 *
216- * var ybuf = [ 1.0, 1.0, 1.0, 1.0, 1.0 ];
217- * var y = new ndarray( 'generic', ybuf, [ 5 ], [ 1 ], 0, 'row-major' );
218- *
219- * var alpha = scalar2ndarray( 5.0, 'generic', 'row-major' );
223+ * var alpha = scalar2ndarray( 5.0, {
224+ * 'dtype': 'generic'
225+ * });
220226 *
221227 * var z = ns.gaxpy( [ x, y, alpha ] );
222228 * // returns <ndarray>[ 6.0, 11.0, 16.0, 21.0, 26.0 ]
@@ -233,13 +239,10 @@ interface Namespace {
233239 * @returns output ndarray
234240 *
235241 * @example
236- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
237- *
238- * var xbuf = [ 1.0, 2.0, 3.0, 4.0, 5.0 ];
239- * var x = new ndarray( 'generic', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
242+ * var vector = require( '@stdlib/ndarray/vector/ctor' );
240243 *
241- * var ybuf = [ 0 .0, 0 .0, 0 .0, 0 .0, 0 .0 ];
242- * var y = new ndarray( 'generic', ybuf, [ 5 ], [ 1 ], 0, 'row-major ' );
244+ * var x = vector( [ 1 .0, 2 .0, 3 .0, 4 .0, 5 .0 ], 'generic' ) ;
245+ * var y = vector( [ 0.0, 0.0, 0.0, 0.0, 0.0 ], 'generic ' );
243246 *
244247 * var z = ns.gcopy( [ x, y ] );
245248 * // returns <ndarray>[ 1.0, 2.0, 3.0, 4.0, 5.0 ]
@@ -256,13 +259,10 @@ interface Namespace {
256259 * @returns dot product
257260 *
258261 * @example
259- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
260- *
261- * var xbuf = [ 4.0, 2.0, -3.0, 5.0, -1.0 ];
262- * var x = new ndarray( 'generic', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
262+ * var vector = require( '@stdlib/ndarray/vector/ctor' );
263263 *
264- * var ybuf = [ 2 .0, 6 .0, -1 .0, -4 .0, 8 .0 ];
265- * var y = new ndarray( 'generic', ybuf, [ 5 ], [ 1 ], 0 , 'row-major ' );
264+ * var x = vector( [ 4 .0, 2 .0, -3 .0, 5 .0, -1 .0 ], 'generic' ) ;
265+ * var y = vector( [ 2.0, 6.0, -1.0, -4.0, 8.0 ] , 'generic ' );
266266 *
267267 * var z = ns.gdot( [ x, y ] );
268268 * // returns -5.0
@@ -276,11 +276,9 @@ interface Namespace {
276276 * @returns sum
277277 *
278278 * @example
279- * var Float32Array = require( '@stdlib/array/float32' );
280- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
279+ * var Float32Vector = require( '@stdlib/ndarray/vector/float32' );
281280 *
282- * var xbuf = new Float32Array( [ 1.0, -2.0, 3.0, -4.0, 5.0 ] );
283- * var x = new ndarray( 'float32', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
281+ * var x = new Float32Vector( [ 1.0, -2.0, 3.0, -4.0, 5.0 ] );
284282 *
285283 * var y = ns.sasum( [ x ] );
286284 * // returns 15.0
@@ -294,17 +292,15 @@ interface Namespace {
294292 * @returns output ndarray
295293 *
296294 * @example
297- * var Float32Array = require( '@stdlib/array/float32' );
298- * var scalar2ndarray = require( '@stdlib/ndarray/base/from-scalar' );
299- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
295+ * var Float32Vector = require( '@stdlib/ndarray/vector/float32' );
296+ * var scalar2ndarray = require( '@stdlib/ndarray/from-scalar' );
300297 *
301- * var xbuf = new Float32Array ( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
302- * var x = new ndarray( 'float32', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
298+ * var x = new Float32Vector ( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
299+ * var y = new Float32Vector( [ 1.0, 1.0, 1.0, 1. 0, 1.0 ] );
303300 *
304- * var ybuf = new Float32Array( [ 1.0, 1.0, 1.0, 1.0, 1.0 ] );
305- * var y = new ndarray( 'float32', ybuf, [ 5 ], [ 1 ], 0, 'row-major' );
306- *
307- * var alpha = scalar2ndarray( 5.0, 'float32', 'row-major' );
301+ * var alpha = scalar2ndarray( 5.0, {
302+ * 'dtype': 'float32'
303+ * });
308304 *
309305 * var z = ns.saxpy( [ x, y, alpha ] );
310306 * // returns <ndarray>[ 6.0, 11.0, 16.0, 21.0, 26.0 ]
@@ -321,14 +317,10 @@ interface Namespace {
321317 * @returns output ndarray
322318 *
323319 * @example
324- * var Float32Array = require( '@stdlib/array/float32' );
325- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
326- *
327- * var xbuf = new Float32Array( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
328- * var x = new ndarray( 'float32', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
320+ * var Float32Vector = require( '@stdlib/ndarray/vector/float32' );
329321 *
330- * var ybuf = new Float32Array ( [ 0 .0, 0 .0, 0 .0, 0 .0, 0 .0 ] );
331- * var y = new ndarray( 'float32', ybuf, [ 5 ], [ 1 ] , 0, 'row-major' );
322+ * var x = new Float32Vector ( [ 1 .0, 2 .0, 3 .0, 4 .0, 5 .0 ] );
323+ * var y = new Float32Vector( [ 0.0, 0.0, 0.0 , 0.0, 0.0 ] );
332324 *
333325 * var z = ns.scopy( [ x, y ] );
334326 * // returns <ndarray>[ 1.0, 2.0, 3.0, 4.0, 5.0 ]
@@ -345,14 +337,10 @@ interface Namespace {
345337 * @returns dot product
346338 *
347339 * @example
348- * var Float32Array = require( '@stdlib/array/float32' );
349- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
350- *
351- * var xbuf = new Float32Array( [ 4.0, 2.0, -3.0, 5.0, -1.0 ] );
352- * var x = new ndarray( 'float32', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
340+ * var Float32Vector = require( '@stdlib/ndarray/vector/float32' );
353341 *
354- * var ybuf = new Float32Array ( [ 2 .0, 6 .0, -1 .0, -4 .0, 8 .0 ] );
355- * var y = new ndarray( 'float32', ybuf, [ 5 ], [ 1 ], 0, 'row-major' );
342+ * var x = new Float32Vector ( [ 4 .0, 2 .0, -3 .0, 5 .0, -1 .0 ] );
343+ * var y = new Float32Vector( [ 2.0, 6.0, -1.0, -4. 0, 8.0 ] );
356344 *
357345 * var z = ns.sdot( [ x, y ] );
358346 * // returns -5.0
@@ -366,18 +354,16 @@ interface Namespace {
366354 * @returns output ndarray
367355 *
368356 * @example
369- * var Complex128Array = require( '@stdlib/array /complex128' );
357+ * var Complex128Vector = require( '@stdlib/ndarray/vector /complex128' );
370358 * var Complex128 = require( '@stdlib/complex/float64/ctor' );
371- * var scalar2ndarray = require( '@stdlib/ndarray/base/from-scalar' );
372- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
359+ * var scalar2ndarray = require( '@stdlib/ndarray/from-scalar' );
373360 *
374- * var xbuf = new Complex128Array ( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 ] );
375- * var x = new ndarray( 'complex128', xbuf, [ 5 ], [ 1 ], 0, 'row-major' );
361+ * var x = new Complex128Vector ( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 ] );
362+ * var y = new Complex128Vector( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1. 0, 1.0 ] );
376363 *
377- * var ybuf = new Complex128Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
378- * var y = new ndarray( 'complex128', ybuf, [ 5 ], [ 1 ], 0, 'row-major' );
379- *
380- * var alpha = scalar2ndarray( new Complex128( 1.0, 2.0 ), 'complex128', 'row-major' );
364+ * var alpha = scalar2ndarray( new Complex128( 1.0, 2.0 ), {
365+ * 'dtype': 'complex128'
366+ * });
381367 *
382368 * var z = ns.zaxpy( [ x, y, alpha ] );
383369 * // returns <ndarray>[ <Complex128>[ -2.0, 5.0 ], <Complex128>[ -4.0, 11.0 ], <Complex128>[ -6.0, 17.0 ], <Complex128>[ -8.0, 23.0 ], <Complex128>[ -10.0, 29.0 ] ]
@@ -394,14 +380,10 @@ interface Namespace {
394380 * @returns output ndarray
395381 *
396382 * @example
397- * var Complex128Array = require( '@stdlib/array/complex128' );
398- * var ndarray = require( '@stdlib/ndarray/base/ctor' );
399- *
400- * var xbuf = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
401- * var x = new ndarray( 'complex128', xbuf, [ 3 ], [ 1 ], 0, 'row-major' );
383+ * var Complex128Vector = require( '@stdlib/ndarray/vector/complex128' );
402384 *
403- * var ybuf = new Complex128Array ( [ 0 .0, 0 .0, 0 .0, 0 .0, 0 .0, 0 .0 ] );
404- * var y = new ndarray( 'complex128', ybuf, [ 3 ], [ 1 ] , 0, 'row-major' );
385+ * var x = new Complex128Vector ( [ 1 .0, 2 .0, 3 .0, 4 .0, 5 .0, 6 .0 ] );
386+ * var y = new Complex128Vector( [ 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0 ] );
405387 *
406388 * var z = ns.zcopy( [ x, y ] );
407389 * // returns <ndarray>[ <Complex128>[ 1.0, 2.0 ], <Complex128>[ 3.0, 4.0 ], <Complex128>[ 5.0, 6.0 ] ]
0 commit comments