@stdlib/utils-map2-right 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +1 -1
- package/README.md +16 -16
- package/dist/index.js +18 -10
- package/dist/index.js.map +1 -1
- package/docs/types/index.d.ts +8 -8
- package/lib/array.js +1 -1
- package/lib/assign.js +2 -2
- package/lib/index.js +5 -5
- package/lib/main.js +2 -2
- package/lib/ndarray.js +4 -4
- package/package.json +15 -15
package/NOTICE
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Copyright (c) 2016-
|
|
1
|
+
Copyright (c) 2016-2026 The Stdlib Authors.
|
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ Applies a function to elements in two input arrays while iterating from right to
|
|
|
71
71
|
|
|
72
72
|
```javascript
|
|
73
73
|
var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
74
|
-
var add = require( '@stdlib/
|
|
74
|
+
var add = require( '@stdlib/number-float64-base-add' );
|
|
75
75
|
|
|
76
76
|
var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
77
77
|
var y = [ 1, 1, 1, 1, 1, 1 ];
|
|
@@ -84,7 +84,7 @@ The function accepts both array-like objects and [`ndarray`][@stdlib/ndarray/cto
|
|
|
84
84
|
|
|
85
85
|
```javascript
|
|
86
86
|
var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
87
|
-
var add = require( '@stdlib/
|
|
87
|
+
var add = require( '@stdlib/number-float64-base-add' );
|
|
88
88
|
var array = require( '@stdlib/ndarray-array' );
|
|
89
89
|
|
|
90
90
|
var opts = {
|
|
@@ -112,7 +112,7 @@ To set the `this` context when invoking the input function, provide a `thisArg`.
|
|
|
112
112
|
<!-- eslint-disable no-invalid-this -->
|
|
113
113
|
|
|
114
114
|
```javascript
|
|
115
|
-
var add = require( '@stdlib/
|
|
115
|
+
var add = require( '@stdlib/number-float64-base-add' );
|
|
116
116
|
|
|
117
117
|
function fcn( v1, v2 ) {
|
|
118
118
|
this.count += 1;
|
|
@@ -141,7 +141,7 @@ Applies a function to elements in two input arrays while iterating from right to
|
|
|
141
141
|
|
|
142
142
|
```javascript
|
|
143
143
|
var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
144
|
-
var add = require( '@stdlib/
|
|
144
|
+
var add = require( '@stdlib/number-float64-base-add' );
|
|
145
145
|
|
|
146
146
|
var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
147
147
|
var y = [ 1, 1, 1, 1, 1, 1 ];
|
|
@@ -157,7 +157,7 @@ The method accepts both array-like objects and [`ndarray`][@stdlib/ndarray/ctor]
|
|
|
157
157
|
|
|
158
158
|
```javascript
|
|
159
159
|
var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
160
|
-
var add = require( '@stdlib/
|
|
160
|
+
var add = require( '@stdlib/number-float64-base-add' );
|
|
161
161
|
var array = require( '@stdlib/ndarray-array' );
|
|
162
162
|
|
|
163
163
|
var opts = {
|
|
@@ -180,7 +180,7 @@ If input and output arrays are [`ndarray`][@stdlib/ndarray/ctor]-like objects, t
|
|
|
180
180
|
|
|
181
181
|
```javascript
|
|
182
182
|
var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
183
|
-
var add = require( '@stdlib/
|
|
183
|
+
var add = require( '@stdlib/number-float64-base-add' );
|
|
184
184
|
var array = require( '@stdlib/ndarray-array' );
|
|
185
185
|
|
|
186
186
|
var opts = {
|
|
@@ -228,10 +228,10 @@ The applied function is provided the same arguments as with [`map2Right`](#fcn-m
|
|
|
228
228
|
```javascript
|
|
229
229
|
var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
230
230
|
var Complex64Array = require( '@stdlib/array-complex64' );
|
|
231
|
-
var Complex64 = require( '@stdlib/complex-float32' );
|
|
232
|
-
var realf = require( '@stdlib/complex-
|
|
233
|
-
var imagf = require( '@stdlib/complex-
|
|
234
|
-
var add = require( '@stdlib/
|
|
231
|
+
var Complex64 = require( '@stdlib/complex-float32-ctor' );
|
|
232
|
+
var realf = require( '@stdlib/complex-float32-real' );
|
|
233
|
+
var imagf = require( '@stdlib/complex-float32-imag' );
|
|
234
|
+
var add = require( '@stdlib/complex-float32-base-add' );
|
|
235
235
|
|
|
236
236
|
var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
|
|
237
237
|
var y = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
|
|
@@ -268,7 +268,7 @@ The applied function is provided the same arguments as with [`map2Right`](#fcn-m
|
|
|
268
268
|
var filledarrayBy = require( '@stdlib/array-filled-by' );
|
|
269
269
|
var discreteUniform = require( '@stdlib/random-base-discrete-uniform' ).factory;
|
|
270
270
|
var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
271
|
-
var add = require( '@stdlib/
|
|
271
|
+
var add = require( '@stdlib/number-float64-base-add' );
|
|
272
272
|
var array = require( '@stdlib/ndarray-array' );
|
|
273
273
|
var map2Right = require( '@stdlib/utils-map2-right' );
|
|
274
274
|
|
|
@@ -354,7 +354,7 @@ See [LICENSE][stdlib-license].
|
|
|
354
354
|
|
|
355
355
|
## Copyright
|
|
356
356
|
|
|
357
|
-
Copyright © 2016-
|
|
357
|
+
Copyright © 2016-2026. The Stdlib [Authors][stdlib-authors].
|
|
358
358
|
|
|
359
359
|
</section>
|
|
360
360
|
|
|
@@ -367,8 +367,8 @@ Copyright © 2016-2024. The Stdlib [Authors][stdlib-authors].
|
|
|
367
367
|
[npm-image]: http://img.shields.io/npm/v/@stdlib/utils-map2-right.svg
|
|
368
368
|
[npm-url]: https://npmjs.org/package/@stdlib/utils-map2-right
|
|
369
369
|
|
|
370
|
-
[test-image]: https://github.com/stdlib-js/utils-map2-right/actions/workflows/test.yml/badge.svg?branch=v0.2.
|
|
371
|
-
[test-url]: https://github.com/stdlib-js/utils-map2-right/actions/workflows/test.yml?query=branch:v0.2.
|
|
370
|
+
[test-image]: https://github.com/stdlib-js/utils-map2-right/actions/workflows/test.yml/badge.svg?branch=v0.2.2
|
|
371
|
+
[test-url]: https://github.com/stdlib-js/utils-map2-right/actions/workflows/test.yml?query=branch:v0.2.2
|
|
372
372
|
|
|
373
373
|
[coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/utils-map2-right/main.svg
|
|
374
374
|
[coverage-url]: https://codecov.io/github/stdlib-js/utils-map2-right?branch=main
|
|
@@ -380,8 +380,8 @@ Copyright © 2016-2024. The Stdlib [Authors][stdlib-authors].
|
|
|
380
380
|
|
|
381
381
|
-->
|
|
382
382
|
|
|
383
|
-
[chat-image]: https://img.shields.io/
|
|
384
|
-
[chat-url]: https://
|
|
383
|
+
[chat-image]: https://img.shields.io/badge/zulip-join_chat-brightgreen.svg
|
|
384
|
+
[chat-url]: https://stdlib.zulipchat.com
|
|
385
385
|
|
|
386
386
|
[stdlib]: https://github.com/stdlib-js/stdlib
|
|
387
387
|
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
"use strict";var c=function(a,r){return function(){return r||a((r={exports:{}}).exports,r),r.exports}};var F=c(function(yr,P){
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";var c=function(a,r){return function(){return r||a((r={exports:{}}).exports,r),r.exports}};var F=c(function(yr,P){"use strict";var T=require("@stdlib/ndarray-base-vind2bind"),V="throw";function rr(a,r,e,u,v){var s,t,n,i,d,f,o,m,y,g,b,w,q,D,M,B,G,H,k,E,j,J,K,N,l;if(M=a.length,w=a.shape,q=r.shape,D=e.shape,s=a.data,t=r.data,n=e.data,B=a.strides,G=r.strides,H=e.strides,k=a.offset,E=r.offset,j=e.offset,i=a.order,d=r.order,f=e.order,o=a.accessors[0],m=r.accessors[0],y=e.accessors[1],g=a.ref,b=r.ref,w.length===0&&q.length===0){y(n,j,u.call(v,o(s,k),m(t,E),0,[g,b]));return}for(l=M-1;l>=0;l--)J=T(w,B,k,i,l,V),K=T(q,G,E,d,l,V),N=T(D,H,j,f,l,V),y(n,N,u.call(v,o(s,J),m(t,K),l,[g,b]))}P.exports=rr});var I=c(function(gr,Q){"use strict";function ar(a,r,e,u,v){var s,t,n,i,d,f,o;for(s=a.data,t=r.data,n=e.data,i=a.accessors[0],d=r.accessors[0],f=e.accessors[1],o=s.length-1;o>=0;o--)f(n,o,u.call(v,i(s,o),d(t,o),o,[s,t]))}Q.exports=ar});var Z=c(function(br,Y){"use strict";var U=require("@stdlib/assert-is-array-like-object"),W=require("@stdlib/assert-is-ndarray-like"),er=require("@stdlib/assert-is-function"),tr=require("@stdlib/array-base-zeros"),R=require("@stdlib/ndarray-base-ndarraylike2object"),z=require("@stdlib/array-base-arraylike2object"),ir=require("@stdlib/ndarray-zeros"),nr=require("@stdlib/ndarray-base-broadcast-shapes"),X=require("@stdlib/ndarray-base-maybe-broadcast-array"),p=require("@stdlib/string-format"),sr=F(),ur=I();function or(a,r,e,u){var v,s,t,n,i;if(!er(e))throw new TypeError(p("invalid argument. Second argument must be a function. Value: `%s`.",e));if(v=W(a),s=W(r),v){if(!s)throw new TypeError(p("invalid argument. If the first input array is an ndarray, the second input array must also be an ndarray. Value: `%s`.",r));if(i=nr([a.shape,r.shape]),i===null)throw new Error("invalid arguments. Input ndarrays must be broadcast compatible.");return n=R(X(a,i)),n.ref=a,a=n,n=R(X(r,i)),n.ref=r,r=n,t=ir(i,{dtype:"generic",order:a.order}),sr(a,r,R(t),e,u),t}if(U(a)){if(s||!U(r))throw new TypeError(p("invalid argument. If the first input array is an array-like object, the second input array must also be an array-like object. Value: `%s`.",r));if(r.length!==a.length)throw new RangeError("invalid arguments. Input arrays must have the same length.");return t=tr(a.length),ur(z(a),z(r),z(t),e,u),t}throw new TypeError(p("invalid argument. First argument must be an array-like object or an ndarray. Value: `%s`.",a))}Y.exports=or});var A=c(function(wr,$){"use strict";var O=require("@stdlib/assert-is-array-like-object"),L=require("@stdlib/assert-is-ndarray-like"),vr=require("@stdlib/assert-is-function"),S=require("@stdlib/ndarray-base-ndarraylike2object"),C=require("@stdlib/array-base-arraylike2object"),_=require("@stdlib/ndarray-base-maybe-broadcast-array"),dr=require("@stdlib/ndarray-base-assert-is-read-only"),h=require("@stdlib/string-format"),lr=F(),hr=I();function fr(a,r,e,u,v){var s,t,n,i,d;if(!vr(u))throw new TypeError(h("invalid argument. Fourth argument must be a function. Value: `%s`.",u));if(s=L(a),t=L(r),n=L(e),s){if(!t)throw new TypeError(h("invalid argument. If the first input array is an ndarray, the second input array must also be an ndarray. Value: `%s`.",r));if(!n)throw new TypeError(h("invalid argument. If the input arrays are ndarrays, the output array must also be an ndarray. Value: `%s`.",e));if(dr(e))throw new Error("invalid argument. The output ndarray must be writable. Cannot write to a read-only ndarray.");return e=S(e),d=e.shape,i=S(_(a,d)),i.ref=a,a=i,i=S(_(r,d)),i.ref=r,r=i,lr(a,r,e,u,v),e.ref}if(O(a)){if(t||!O(r))throw new TypeError(h("invalid argument. If the first input array is an array-like object, the second input array must also be an array-like object. Value: `%s`.",r));if(n||!O(e))throw new TypeError(h("invalid argument. If the input arrays are array-like objects, the output array must also be an array-like object. Value: `%s`.",e));if(a.length!==r.length||r.length!==e.length)throw new RangeError("invalid arguments. Input and output arrays must have the same length.");return hr(C(a),C(r),C(e),u,v),e}throw new TypeError(h("invalid argument. First argument must be an array-like object or an ndarray. Value: `%s`.",a))}$.exports=fr});var cr=require("@stdlib/utils-define-nonenumerable-read-only-property"),x=Z(),pr=A();cr(x,"assign",pr);module.exports=x;
|
|
2
|
+
/**
|
|
3
|
+
* @license Apache-2.0
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2022 The Stdlib Authors.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
11
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../lib/ndarray.js", "../lib/array.js", "../lib/main.js", "../lib/assign.js", "../lib/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar vind2bind = require( '@stdlib/ndarray-base-vind2bind' );\n\n\n// VARIABLES //\n\nvar MODE = 'throw';\n\n\n// MAIN //\n\n/**\n* Applies a function to elements in two input arrays while iterating from right to left and assigns the results to an output array.\n*\n* @private\n* @param {Object} x - object containing meta data for the first input ndarray\n* @param {string} x.ref - reference to original input ndarray-like object\n* @param {string} x.dtype - data type\n* @param {Collection} x.data - data buffer\n* @param {NonNegativeInteger} x.length - number of elements\n* @param {NonNegativeIntegerArray} x.shape - dimensions\n* @param {IntegerArray} x.strides - stride lengths\n* @param {NonNegativeInteger} x.offset - index offset\n* @param {string} x.order - specifies whether `x` is row-major (C-style) or column-major (Fortran-style)\n* @param {Array<Function>} x.accessors - accessors for accessing data buffer elements\n* @param {Object} y - object containing meta data for the second input ndarray\n* @param {string} y.ref - reference to original input ndarray-like object\n* @param {string} y.dtype - data type\n* @param {Collection} y.data - data buffer\n* @param {NonNegativeInteger} y.length - number of elements\n* @param {NonNegativeIntegerArray} y.shape - dimensions\n* @param {IntegerArray} y.strides - stride lengths\n* @param {NonNegativeInteger} y.offset - index offset\n* @param {string} y.order - specifies whether `y` is row-major (C-style) or column-major (Fortran-style)\n* @param {Array<Function>} y.accessors - accessors for accessing data buffer elements\n* @param {Object} z - object containing output ndarray meta data\n* @param {string} z.dtype - data type\n* @param {Collection} z.data - data buffer\n* @param {NonNegativeInteger} z.length - number of elements\n* @param {NonNegativeIntegerArray} z.shape - dimensions\n* @param {IntegerArray} z.strides - stride lengths\n* @param {NonNegativeInteger} z.offset - index offset\n* @param {string} z.order - specifies whether `z` is row-major (C-style) or column-major (Fortran-style)\n* @param {Array<Function>} z.accessors - accessors for accessing data buffer elements\n* @param {Function} fcn - function to apply\n* @param {*} thisArg - function execution context\n* @returns {void}\n*\n* @example\n* var Complex64Array = require( '@stdlib/array-complex64' );\n* var Complex64 = require( '@stdlib/complex-float32' );\n* var realf = require( '@stdlib/complex-realf' );\n* var imagf = require( '@stdlib/complex-imagf' );\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-caddf' );\n*\n* // Create data buffers:\n* var xbuf = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );\n* var ybuf = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );\n* var zbuf = new Complex64Array( 4 );\n*\n* // Define the shape of the input and output arrays:\n* var shape = [ 2, 2 ];\n*\n* // Define the array strides:\n* var sx = [ 2, 1 ];\n* var sy = [ 2, 1 ];\n* var sz = [ 2, 1 ];\n*\n* // Define the index offsets:\n* var ox = 0;\n* var oy = 0;\n* var oz = 0;\n*\n* // Define getters and setters:\n* function getter( buf, idx ) {\n* return buf.get( idx );\n* }\n*\n* function setter( buf, idx, value ) {\n* buf.set( value, idx );\n* }\n*\n* // Create the input and output ndarray-like objects:\n* var x = {\n* 'ref': null,\n* 'dtype': 'complex64',\n* 'data': xbuf,\n* 'length': 4,\n* 'shape': shape,\n* 'strides': sx,\n* 'offset': ox,\n* 'order': 'row-major',\n* 'accessors': [ getter, setter ]\n* };\n* x.ref = x;\n*\n* var y = {\n* 'ref': null,\n* 'dtype': 'complex64',\n* 'data': ybuf,\n* 'length': 4,\n* 'shape': shape,\n* 'strides': sy,\n* 'offset': ox,\n* 'order': 'row-major',\n* 'accessors': [ getter, setter ]\n* };\n* y.ref = y;\n*\n* var z = {\n* 'ref': null,\n* 'dtype': 'complex64',\n* 'data': zbuf,\n* 'length': 4,\n* 'shape': shape,\n* 'strides': sz,\n* 'offset': oz,\n* 'order': 'row-major',\n* 'accessors': [ getter, setter ]\n* };\n*\n* // Apply the function:\n* map2Right( x, y, z, naryFunction( add, 2 ) );\n*\n* var v = z.data.get( 0 );\n*\n* var re = realf( v );\n* // returns 2.0\n*\n* var im = imagf( v );\n* // returns 3.0\n*/\nfunction map2Right( x, y, z, fcn, thisArg ) {\n\tvar xbuf;\n\tvar ybuf;\n\tvar zbuf;\n\tvar ordx;\n\tvar ordy;\n\tvar ordz;\n\tvar xget;\n\tvar yget;\n\tvar zset;\n\tvar xref;\n\tvar yref;\n\tvar shx;\n\tvar shy;\n\tvar shz;\n\tvar len;\n\tvar sx;\n\tvar sy;\n\tvar sz;\n\tvar ox;\n\tvar oy;\n\tvar oz;\n\tvar ix;\n\tvar iy;\n\tvar iz;\n\tvar i;\n\n\t// Cache the total number of elements over which to iterate:\n\tlen = x.length;\n\n\t// Cache the array shapes:\n\tshx = x.shape;\n\tshy = y.shape;\n\tshz = z.shape;\n\n\t// Cache references to the input and output ndarray data buffers:\n\txbuf = x.data;\n\tybuf = y.data;\n\tzbuf = z.data;\n\n\t// Cache references to the respective stride arrays:\n\tsx = x.strides;\n\tsy = y.strides;\n\tsz = z.strides;\n\n\t// Cache the indices of the first indexed elements in the respective ndarrays:\n\tox = x.offset;\n\toy = y.offset;\n\toz = z.offset;\n\n\t// Cache the respective array orders:\n\tordx = x.order;\n\tordy = y.order;\n\tordz = z.order;\n\n\t// Cache accessors:\n\txget = x.accessors[ 0 ];\n\tyget = y.accessors[ 0 ];\n\tzset = z.accessors[ 1 ];\n\n\t// Cache references to the original input arrays:\n\txref = x.ref;\n\tyref = y.ref;\n\n\t// Check for a zero-dimensional array...\n\tif ( shx.length === 0 && shy.length === 0 ) {\n\t\tzset( zbuf, oz, fcn.call( thisArg, xget( xbuf, ox ), yget( ybuf, oy ), 0, [ xref, yref ] ) ); // eslint-disable-line max-len\n\t\treturn;\n\t}\n\t// Iterate over the arrays based on the linear **view** index, regardless as to how the data is stored in memory (note: this has negative performance implications for non-contiguous ndarrays due to a lack of data locality)...\n\tfor ( i = len-1; i >= 0; i-- ) {\n\t\tix = vind2bind( shx, sx, ox, ordx, i, MODE );\n\t\tiy = vind2bind( shy, sy, oy, ordy, i, MODE );\n\t\tiz = vind2bind( shz, sz, oz, ordz, i, MODE );\n\t\tzset( zbuf, iz, fcn.call( thisArg, xget( xbuf, ix ), yget( ybuf, iy ), i, [ xref, yref ] ) ); // eslint-disable-line max-len\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = map2Right;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Applies a function to elements in two input arrays while iterating from right to left and assigns the results to an output array.\n*\n* @private\n* @param {Object} x - object containing data for the first input array\n* @param {ArrayLikeObject} x.data - array data\n* @param {Array<Function>} x.accessors - array element accessors\n* @param {Object} y - object containing data for the second input array\n* @param {ArrayLikeObject} y.data - array data\n* @param {Array<Function>} y.accessors - array element accessors\n* @param {Object} z - object containing output array data\n* @param {ArrayLikeObject} z.data - array data\n* @param {Array<Function>} z.accessors - array element accessors\n* @param {Function} fcn - function to apply\n* @param {*} thisArg - function execution context\n* @returns {void}\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n*\n* // Define getters and setters:\n* function getter( buf, idx ) {\n* return buf[ idx ];\n* }\n*\n* function setter( buf, idx, value ) {\n* buf[ idx ] = value;\n* }\n*\n* // Create the input and output array objects:\n* var x = {\n* 'data': [ 1, 2, 3, 4, 5, 6 ],\n* 'accessors': [ getter, setter ]\n* };\n* var y = {\n* 'data': [ 1, 1, 1, 1, 1, 1 ],\n* 'accessors': [ getter, setter ]\n* };\n* var z = {\n* 'data': [ 0, 0, 0, 0, 0, 0 ],\n* 'accessors': [ getter, setter ]\n* };\n*\n* map2Right( x, y, z, naryFunction( add, 2 ) );\n*\n* var data = z.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*/\nfunction map2Right( x, y, z, fcn, thisArg ) {\n\tvar xbuf;\n\tvar ybuf;\n\tvar zbuf;\n\tvar xget;\n\tvar yget;\n\tvar zset;\n\tvar i;\n\n\t// Cache references to the input and output data:\n\txbuf = x.data;\n\tybuf = y.data;\n\tzbuf = z.data;\n\n\t// Cache accessors:\n\txget = x.accessors[ 0 ];\n\tyget = y.accessors[ 0 ];\n\tzset = z.accessors[ 1 ];\n\n\t// Iterate over the elements...\n\tfor ( i = xbuf.length-1; i >= 0; i-- ) {\n\t\tzset( zbuf, i, fcn.call( thisArg, xget( xbuf, i ), yget( ybuf, i ), i, [ xbuf, ybuf ] ) ); // eslint-disable-line max-len\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = map2Right;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayLikeObject = require( '@stdlib/assert-is-array-like-object' );\nvar isndarrayLike = require( '@stdlib/assert-is-ndarray-like' );\nvar isFunction = require( '@stdlib/assert-is-function' );\nvar zeros = require( '@stdlib/array-base-zeros' );\nvar ndarraylike2object = require( '@stdlib/ndarray-base-ndarraylike2object' );\nvar arraylike2object = require( '@stdlib/array-base-arraylike2object' );\nvar ndzeros = require( '@stdlib/ndarray-zeros' );\nvar broadcastShapes = require( '@stdlib/ndarray-base-broadcast-shapes' );\nvar broadcast = require( '@stdlib/ndarray-base-maybe-broadcast-array' );\nvar format = require( '@stdlib/string-format' );\nvar ndarrayFcn = require( './ndarray.js' );\nvar arrayFcn = require( './array.js' );\n\n\n// MAIN //\n\n/**\n* Applies a function to elements in two input arrays while iterating from right to left and assigns the results to a new array.\n*\n* ## Notes\n*\n* - The applied function is provided the following arguments:\n*\n* - **v1**: element from first input array.\n* - **v2**: element from second input array.\n* - **idx**: element index.\n* - **arrays**: input arrays.\n*\n* @param {(ArrayLikeObject|ndarray)} x - first input array\n* @param {(ArrayLikeObject|ndarray)} y - second input array\n* @param {Function} fcn - function to apply\n* @param {*} [thisArg] - function execution context\n* @throws {TypeError} first argument must be an array-like object or an ndarray\n* @throws {TypeError} second argument must be an array-like object or an ndarray\n* @throws {TypeError} input arrays must be either both array-like objects or both ndarrays\n* @throws {RangeError} input arrays must have the same length\n* @throws {Error} input ndarrays must be broadcast compatible\n* @throws {TypeError} third argument must be a function\n* @returns {(Array|ndarray)} output array\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n*\n* var x = [ 1, 2, 3, 4, 5, 6 ];\n* var y = [ 1, 1, 1, 1, 1, 1 ];\n*\n* var out = map2Right( x, y, naryFunction( add, 2 ) );\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n* var array = require( '@stdlib/ndarray-array' );\n*\n* var opts = {\n* 'dtype': 'generic'\n* };\n* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );\n* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );\n*\n* var out = map2Right( x, y, naryFunction( add, 2 ) );\n* // returns <ndarray>\n*\n* var data = out.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*/\nfunction map2Right( x, y, fcn, thisArg ) {\n\tvar isxnd;\n\tvar isynd;\n\tvar out;\n\tvar tmp;\n\tvar sh;\n\n\tif ( !isFunction( fcn ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a function. Value: `%s`.', fcn ) );\n\t}\n\tisxnd = isndarrayLike( x );\n\tisynd = isndarrayLike( y );\n\tif ( isxnd ) { // note: assertion order matters here, as an ndarray-like object is also array-like\n\t\tif ( !isynd ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the first input array is an ndarray, the second input array must also be an ndarray. Value: `%s`.', y ) );\n\t\t}\n\t\t// Broadcast `x` and `y` to a common shape:\n\t\tsh = broadcastShapes( [ x.shape, y.shape ] );\n\t\tif ( sh === null ) {\n\t\t\tthrow new Error( 'invalid arguments. Input ndarrays must be broadcast compatible.' );\n\t\t}\n\t\t// Broadcast and wrap the input arrays and ensure that the `ref` properties point to the original input arrays...\n\t\ttmp = ndarraylike2object( broadcast( x, sh ) );\n\t\ttmp.ref = x;\n\t\tx = tmp;\n\n\t\ttmp = ndarraylike2object( broadcast( y, sh ) );\n\t\ttmp.ref = y;\n\t\ty = tmp;\n\n\t\t// Create an output array:\n\t\tout = ndzeros( sh, {\n\t\t\t'dtype': 'generic',\n\t\t\t'order': x.order\n\t\t});\n\n\t\t// Apply the function to the input arrays:\n\t\tndarrayFcn( x, y, ndarraylike2object( out ), fcn, thisArg );\n\t\treturn out;\n\t}\n\tif ( isArrayLikeObject( x ) ) {\n\t\tif ( isynd || !isArrayLikeObject( y ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the first input array is an array-like object, the second input array must also be an array-like object. Value: `%s`.', y ) );\n\t\t}\n\t\tif ( y.length !== x.length ) {\n\t\t\tthrow new RangeError( 'invalid arguments. Input arrays must have the same length.' );\n\t\t}\n\t\tout = zeros( x.length );\n\t\tarrayFcn( arraylike2object( x ), arraylike2object( y ), arraylike2object( out ), fcn, thisArg ); // eslint-disable-line max-len\n\t\treturn out;\n\t}\n\tthrow new TypeError( format( 'invalid argument. First argument must be an array-like object or an ndarray. Value: `%s`.', x ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = map2Right;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayLikeObject = require( '@stdlib/assert-is-array-like-object' );\nvar isndarrayLike = require( '@stdlib/assert-is-ndarray-like' );\nvar isFunction = require( '@stdlib/assert-is-function' );\nvar ndarraylike2object = require( '@stdlib/ndarray-base-ndarraylike2object' );\nvar arraylike2object = require( '@stdlib/array-base-arraylike2object' );\nvar broadcast = require( '@stdlib/ndarray-base-maybe-broadcast-array' );\nvar isReadOnly = require( '@stdlib/ndarray-base-assert-is-read-only' );\nvar format = require( '@stdlib/string-format' );\nvar ndarrayFcn = require( './ndarray.js' );\nvar arrayFcn = require( './array.js' );\n\n\n// MAIN //\n\n/**\n* Applies a function to elements in two input arrays while iterating from right to left and assigns the results to an output array.\n*\n* ## Notes\n*\n* - The applied function is provided the following arguments:\n*\n* - **v1**: element from first input array.\n* - **v2**: element from second input array.\n* - **idx**: element index.\n* - **arrays**: input arrays.\n*\n* @param {(ArrayLikeObject|ndarray)} x - first input array\n* @param {(ArrayLikeObject|ndarray)} y - second input array\n* @param {(ArrayLikeObject|ndarray)} out - output array\n* @param {Function} fcn - function to apply\n* @param {*} [thisArg] - function execution context\n* @throws {TypeError} first argument must be an array-like object or an ndarray\n* @throws {TypeError} second argument must be an array-like object or an ndarray\n* @throws {TypeError} third argument must be an array-like object or an ndarray\n* @throws {TypeError} fourth argument must be a function\n* @throws {TypeError} input and output arrays must be either all array-like objects or all ndarrays\n* @throws {RangeError} input and output arrays must have the same length\n* @throws {Error} input and output ndarrays must be broadcast compatible\n* @throws {Error} cannot write to a read-only ndarray\n* @returns {(ArrayLikeObject|ndarray)} output array\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n*\n* var x = [ 1, 2, 3, 4, 5, 6 ];\n* var y = [ 1, 1, 1, 1, 1, 1 ];\n* var out = [ 0, 0, 0, 0, 0, 0 ];\n*\n* map2Right( x, y, out, naryFunction( add, 2 ) );\n*\n* console.log( out );\n* // => [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n* var array = require( '@stdlib/ndarray-array' );\n*\n* var opts = {\n* 'dtype': 'generic',\n* 'shape': [ 2, 3 ]\n* };\n* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );\n* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );\n* var out = array( opts );\n*\n* map2Right( x, y, out, naryFunction( add, 2 ) );\n*\n* var data = out.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*/\nfunction map2Right( x, y, out, fcn, thisArg ) {\n\tvar isxnd;\n\tvar isynd;\n\tvar isznd;\n\tvar tmp;\n\tvar sh;\n\tif ( !isFunction( fcn ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be a function. Value: `%s`.', fcn ) );\n\t}\n\tisxnd = isndarrayLike( x );\n\tisynd = isndarrayLike( y );\n\tisznd = isndarrayLike( out );\n\tif ( isxnd ) { // note: assertion order matters here, as an ndarray-like object is also array-like\n\t\tif ( !isynd ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the first input array is an ndarray, the second input array must also be an ndarray. Value: `%s`.', y ) );\n\t\t}\n\t\tif ( !isznd ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the input arrays are ndarrays, the output array must also be an ndarray. Value: `%s`.', out ) );\n\t\t}\n\t\tif ( isReadOnly( out ) ) {\n\t\t\tthrow new Error( 'invalid argument. The output ndarray must be writable. Cannot write to a read-only ndarray.' );\n\t\t}\n\t\tout = ndarraylike2object( out );\n\t\tsh = out.shape;\n\n\t\t// Broadcast and wrap the input arrays and ensure that the `ref` properties point to the original input arrays...\n\t\ttmp = ndarraylike2object( broadcast( x, sh ) );\n\t\ttmp.ref = x;\n\t\tx = tmp;\n\n\t\ttmp = ndarraylike2object( broadcast( y, sh ) );\n\t\ttmp.ref = y;\n\t\ty = tmp;\n\n\t\tndarrayFcn( x, y, out, fcn, thisArg );\n\t\treturn out.ref;\n\t}\n\tif ( isArrayLikeObject( x ) ) {\n\t\tif ( isynd || !isArrayLikeObject( y ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the first input array is an array-like object, the second input array must also be an array-like object. Value: `%s`.', y ) );\n\t\t}\n\t\tif ( isznd || !isArrayLikeObject( out ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the input arrays are array-like objects, the output array must also be an array-like object. Value: `%s`.', out ) );\n\t\t}\n\t\tif ( x.length !== y.length || y.length !== out.length ) {\n\t\t\tthrow new RangeError( 'invalid arguments. Input and output arrays must have the same length.' );\n\t\t}\n\t\tarrayFcn( arraylike2object( x ), arraylike2object( y ), arraylike2object( out ), fcn, thisArg ); // eslint-disable-line max-len\n\t\treturn out;\n\t}\n\tthrow new TypeError( format( 'invalid argument. First argument must be an array-like object or an ndarray. Value: `%s`.', x ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = map2Right;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Apply a function to elements in two input arrays while iterating from right to left and assign the results to an output array.\n*\n* @module @stdlib/utils-map2-right\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n* var map2Right = require( '@stdlib/utils-map2-right' );\n*\n* var x = [ 1, 2, 3, 4, 5, 6 ];\n* var y = [ 1, 1, 1, 1, 1, 1 ];\n*\n* var out = map2Right( x, y, naryFunction( add, 2 ) );\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n* var array = require( '@stdlib/ndarray-array' );\n* var map2Right = require( '@stdlib/utils-map2-right' );\n*\n* var opts = {\n* 'dtype': 'generic'\n* };\n* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );\n* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );\n*\n* var out = map2Right( x, y. naryFunction( add, 2 ) );\n* // returns <ndarray>\n*\n* var data = out.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n* var map2Right = require( '@stdlib/utils-map2-right' );\n*\n* var x = [ 1, 2, 3, 4, 5, 6 ];\n* var y = [ 1, 1, 1, 1, 1, 1 ];\n* var out = [ 0, 0, 0, 0, 0, 0 ];\n*\n* map2Right.assign( x, y, out, naryFunction( add, 2 ) );\n*\n* console.log( out );\n* // => [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/math-base-ops-add' );\n* var array = require( '@stdlib/ndarray-array' );\n* var map2Right = require( '@stdlib/utils-map2-right' );\n*\n* var opts = {\n* 'dtype': 'generic',\n* 'shape': [ 2, 3 ]\n* };\n* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );\n* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );\n* var out = array( opts );\n*\n* map2Right.assign( x, y, out, naryFunction( add, 2 ) );\n*\n* var data = out.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar assign = require( './assign.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'assign', assign );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n"],
|
|
4
|
+
"sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar vind2bind = require( '@stdlib/ndarray-base-vind2bind' );\n\n\n// VARIABLES //\n\nvar MODE = 'throw';\n\n\n// MAIN //\n\n/**\n* Applies a function to elements in two input arrays while iterating from right to left and assigns the results to an output array.\n*\n* @private\n* @param {Object} x - object containing meta data for the first input ndarray\n* @param {string} x.ref - reference to original input ndarray-like object\n* @param {string} x.dtype - data type\n* @param {Collection} x.data - data buffer\n* @param {NonNegativeInteger} x.length - number of elements\n* @param {NonNegativeIntegerArray} x.shape - dimensions\n* @param {IntegerArray} x.strides - stride lengths\n* @param {NonNegativeInteger} x.offset - index offset\n* @param {string} x.order - specifies whether `x` is row-major (C-style) or column-major (Fortran-style)\n* @param {Array<Function>} x.accessors - accessors for accessing data buffer elements\n* @param {Object} y - object containing meta data for the second input ndarray\n* @param {string} y.ref - reference to original input ndarray-like object\n* @param {string} y.dtype - data type\n* @param {Collection} y.data - data buffer\n* @param {NonNegativeInteger} y.length - number of elements\n* @param {NonNegativeIntegerArray} y.shape - dimensions\n* @param {IntegerArray} y.strides - stride lengths\n* @param {NonNegativeInteger} y.offset - index offset\n* @param {string} y.order - specifies whether `y` is row-major (C-style) or column-major (Fortran-style)\n* @param {Array<Function>} y.accessors - accessors for accessing data buffer elements\n* @param {Object} z - object containing output ndarray meta data\n* @param {string} z.dtype - data type\n* @param {Collection} z.data - data buffer\n* @param {NonNegativeInteger} z.length - number of elements\n* @param {NonNegativeIntegerArray} z.shape - dimensions\n* @param {IntegerArray} z.strides - stride lengths\n* @param {NonNegativeInteger} z.offset - index offset\n* @param {string} z.order - specifies whether `z` is row-major (C-style) or column-major (Fortran-style)\n* @param {Array<Function>} z.accessors - accessors for accessing data buffer elements\n* @param {Function} fcn - function to apply\n* @param {*} thisArg - function execution context\n* @returns {void}\n*\n* @example\n* var Complex64Array = require( '@stdlib/array-complex64' );\n* var Complex64 = require( '@stdlib/complex-float32-ctor' );\n* var realf = require( '@stdlib/complex-float32-real' );\n* var imagf = require( '@stdlib/complex-float32-imag' );\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/complex-float32-base-add' );\n*\n* // Create data buffers:\n* var xbuf = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );\n* var ybuf = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );\n* var zbuf = new Complex64Array( 4 );\n*\n* // Define the shape of the input and output arrays:\n* var shape = [ 2, 2 ];\n*\n* // Define the array strides:\n* var sx = [ 2, 1 ];\n* var sy = [ 2, 1 ];\n* var sz = [ 2, 1 ];\n*\n* // Define the index offsets:\n* var ox = 0;\n* var oy = 0;\n* var oz = 0;\n*\n* // Define getters and setters:\n* function getter( buf, idx ) {\n* return buf.get( idx );\n* }\n*\n* function setter( buf, idx, value ) {\n* buf.set( value, idx );\n* }\n*\n* // Create the input and output ndarray-like objects:\n* var x = {\n* 'ref': null,\n* 'dtype': 'complex64',\n* 'data': xbuf,\n* 'length': 4,\n* 'shape': shape,\n* 'strides': sx,\n* 'offset': ox,\n* 'order': 'row-major',\n* 'accessors': [ getter, setter ]\n* };\n* x.ref = x;\n*\n* var y = {\n* 'ref': null,\n* 'dtype': 'complex64',\n* 'data': ybuf,\n* 'length': 4,\n* 'shape': shape,\n* 'strides': sy,\n* 'offset': ox,\n* 'order': 'row-major',\n* 'accessors': [ getter, setter ]\n* };\n* y.ref = y;\n*\n* var z = {\n* 'ref': null,\n* 'dtype': 'complex64',\n* 'data': zbuf,\n* 'length': 4,\n* 'shape': shape,\n* 'strides': sz,\n* 'offset': oz,\n* 'order': 'row-major',\n* 'accessors': [ getter, setter ]\n* };\n*\n* // Apply the function:\n* map2Right( x, y, z, naryFunction( add, 2 ) );\n*\n* var v = z.data.get( 0 );\n*\n* var re = realf( v );\n* // returns 2.0\n*\n* var im = imagf( v );\n* // returns 3.0\n*/\nfunction map2Right( x, y, z, fcn, thisArg ) {\n\tvar xbuf;\n\tvar ybuf;\n\tvar zbuf;\n\tvar ordx;\n\tvar ordy;\n\tvar ordz;\n\tvar xget;\n\tvar yget;\n\tvar zset;\n\tvar xref;\n\tvar yref;\n\tvar shx;\n\tvar shy;\n\tvar shz;\n\tvar len;\n\tvar sx;\n\tvar sy;\n\tvar sz;\n\tvar ox;\n\tvar oy;\n\tvar oz;\n\tvar ix;\n\tvar iy;\n\tvar iz;\n\tvar i;\n\n\t// Cache the total number of elements over which to iterate:\n\tlen = x.length;\n\n\t// Cache the array shapes:\n\tshx = x.shape;\n\tshy = y.shape;\n\tshz = z.shape;\n\n\t// Cache references to the input and output ndarray data buffers:\n\txbuf = x.data;\n\tybuf = y.data;\n\tzbuf = z.data;\n\n\t// Cache references to the respective stride arrays:\n\tsx = x.strides;\n\tsy = y.strides;\n\tsz = z.strides;\n\n\t// Cache the indices of the first indexed elements in the respective ndarrays:\n\tox = x.offset;\n\toy = y.offset;\n\toz = z.offset;\n\n\t// Cache the respective array orders:\n\tordx = x.order;\n\tordy = y.order;\n\tordz = z.order;\n\n\t// Cache accessors:\n\txget = x.accessors[ 0 ];\n\tyget = y.accessors[ 0 ];\n\tzset = z.accessors[ 1 ];\n\n\t// Cache references to the original input arrays:\n\txref = x.ref;\n\tyref = y.ref;\n\n\t// Check for a zero-dimensional array...\n\tif ( shx.length === 0 && shy.length === 0 ) {\n\t\tzset( zbuf, oz, fcn.call( thisArg, xget( xbuf, ox ), yget( ybuf, oy ), 0, [ xref, yref ] ) ); // eslint-disable-line max-len\n\t\treturn;\n\t}\n\t// Iterate over the arrays based on the linear **view** index, regardless as to how the data is stored in memory (note: this has negative performance implications for non-contiguous ndarrays due to a lack of data locality)...\n\tfor ( i = len-1; i >= 0; i-- ) {\n\t\tix = vind2bind( shx, sx, ox, ordx, i, MODE );\n\t\tiy = vind2bind( shy, sy, oy, ordy, i, MODE );\n\t\tiz = vind2bind( shz, sz, oz, ordz, i, MODE );\n\t\tzset( zbuf, iz, fcn.call( thisArg, xget( xbuf, ix ), yget( ybuf, iy ), i, [ xref, yref ] ) ); // eslint-disable-line max-len\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = map2Right;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Applies a function to elements in two input arrays while iterating from right to left and assigns the results to an output array.\n*\n* @private\n* @param {Object} x - object containing data for the first input array\n* @param {ArrayLikeObject} x.data - array data\n* @param {Array<Function>} x.accessors - array element accessors\n* @param {Object} y - object containing data for the second input array\n* @param {ArrayLikeObject} y.data - array data\n* @param {Array<Function>} y.accessors - array element accessors\n* @param {Object} z - object containing output array data\n* @param {ArrayLikeObject} z.data - array data\n* @param {Array<Function>} z.accessors - array element accessors\n* @param {Function} fcn - function to apply\n* @param {*} thisArg - function execution context\n* @returns {void}\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n*\n* // Define getters and setters:\n* function getter( buf, idx ) {\n* return buf[ idx ];\n* }\n*\n* function setter( buf, idx, value ) {\n* buf[ idx ] = value;\n* }\n*\n* // Create the input and output array objects:\n* var x = {\n* 'data': [ 1, 2, 3, 4, 5, 6 ],\n* 'accessors': [ getter, setter ]\n* };\n* var y = {\n* 'data': [ 1, 1, 1, 1, 1, 1 ],\n* 'accessors': [ getter, setter ]\n* };\n* var z = {\n* 'data': [ 0, 0, 0, 0, 0, 0 ],\n* 'accessors': [ getter, setter ]\n* };\n*\n* map2Right( x, y, z, naryFunction( add, 2 ) );\n*\n* var data = z.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*/\nfunction map2Right( x, y, z, fcn, thisArg ) {\n\tvar xbuf;\n\tvar ybuf;\n\tvar zbuf;\n\tvar xget;\n\tvar yget;\n\tvar zset;\n\tvar i;\n\n\t// Cache references to the input and output data:\n\txbuf = x.data;\n\tybuf = y.data;\n\tzbuf = z.data;\n\n\t// Cache accessors:\n\txget = x.accessors[ 0 ];\n\tyget = y.accessors[ 0 ];\n\tzset = z.accessors[ 1 ];\n\n\t// Iterate over the elements...\n\tfor ( i = xbuf.length-1; i >= 0; i-- ) {\n\t\tzset( zbuf, i, fcn.call( thisArg, xget( xbuf, i ), yget( ybuf, i ), i, [ xbuf, ybuf ] ) ); // eslint-disable-line max-len\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = map2Right;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayLikeObject = require( '@stdlib/assert-is-array-like-object' );\nvar isndarrayLike = require( '@stdlib/assert-is-ndarray-like' );\nvar isFunction = require( '@stdlib/assert-is-function' );\nvar zeros = require( '@stdlib/array-base-zeros' );\nvar ndarraylike2object = require( '@stdlib/ndarray-base-ndarraylike2object' );\nvar arraylike2object = require( '@stdlib/array-base-arraylike2object' );\nvar ndzeros = require( '@stdlib/ndarray-zeros' );\nvar broadcastShapes = require( '@stdlib/ndarray-base-broadcast-shapes' );\nvar broadcast = require( '@stdlib/ndarray-base-maybe-broadcast-array' );\nvar format = require( '@stdlib/string-format' );\nvar ndarrayFcn = require( './ndarray.js' );\nvar arrayFcn = require( './array.js' );\n\n\n// MAIN //\n\n/**\n* Applies a function to elements in two input arrays while iterating from right to left and assigns the results to a new array.\n*\n* ## Notes\n*\n* - The applied function is provided the following arguments:\n*\n* - **v1**: element from first input array.\n* - **v2**: element from second input array.\n* - **idx**: element index.\n* - **arrays**: input arrays.\n*\n* @param {(ArrayLikeObject|ndarray)} x - first input array\n* @param {(ArrayLikeObject|ndarray)} y - second input array\n* @param {Function} fcn - function to apply\n* @param {*} [thisArg] - function execution context\n* @throws {TypeError} first argument must be an array-like object or an ndarray\n* @throws {TypeError} second argument must be an array-like object or an ndarray\n* @throws {TypeError} input arrays must be either both array-like objects or both ndarrays\n* @throws {RangeError} input arrays must have the same length\n* @throws {Error} input ndarrays must be broadcast compatible\n* @throws {TypeError} third argument must be a function\n* @returns {(Array|ndarray)} output array\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n*\n* var x = [ 1, 2, 3, 4, 5, 6 ];\n* var y = [ 1, 1, 1, 1, 1, 1 ];\n*\n* var out = map2Right( x, y, naryFunction( add, 2 ) );\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n* var array = require( '@stdlib/ndarray-array' );\n*\n* var opts = {\n* 'dtype': 'generic'\n* };\n* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );\n* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );\n*\n* var out = map2Right( x, y, naryFunction( add, 2 ) );\n* // returns <ndarray>\n*\n* var data = out.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*/\nfunction map2Right( x, y, fcn, thisArg ) {\n\tvar isxnd;\n\tvar isynd;\n\tvar out;\n\tvar tmp;\n\tvar sh;\n\n\tif ( !isFunction( fcn ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a function. Value: `%s`.', fcn ) );\n\t}\n\tisxnd = isndarrayLike( x );\n\tisynd = isndarrayLike( y );\n\tif ( isxnd ) { // note: assertion order matters here, as an ndarray-like object is also array-like\n\t\tif ( !isynd ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the first input array is an ndarray, the second input array must also be an ndarray. Value: `%s`.', y ) );\n\t\t}\n\t\t// Broadcast `x` and `y` to a common shape:\n\t\tsh = broadcastShapes( [ x.shape, y.shape ] );\n\t\tif ( sh === null ) {\n\t\t\tthrow new Error( 'invalid arguments. Input ndarrays must be broadcast compatible.' );\n\t\t}\n\t\t// Broadcast and wrap the input arrays and ensure that the `ref` properties point to the original input arrays...\n\t\ttmp = ndarraylike2object( broadcast( x, sh ) );\n\t\ttmp.ref = x;\n\t\tx = tmp;\n\n\t\ttmp = ndarraylike2object( broadcast( y, sh ) );\n\t\ttmp.ref = y;\n\t\ty = tmp;\n\n\t\t// Create an output array:\n\t\tout = ndzeros( sh, {\n\t\t\t'dtype': 'generic',\n\t\t\t'order': x.order\n\t\t});\n\n\t\t// Apply the function to the input arrays:\n\t\tndarrayFcn( x, y, ndarraylike2object( out ), fcn, thisArg );\n\t\treturn out;\n\t}\n\tif ( isArrayLikeObject( x ) ) {\n\t\tif ( isynd || !isArrayLikeObject( y ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the first input array is an array-like object, the second input array must also be an array-like object. Value: `%s`.', y ) );\n\t\t}\n\t\tif ( y.length !== x.length ) {\n\t\t\tthrow new RangeError( 'invalid arguments. Input arrays must have the same length.' );\n\t\t}\n\t\tout = zeros( x.length );\n\t\tarrayFcn( arraylike2object( x ), arraylike2object( y ), arraylike2object( out ), fcn, thisArg ); // eslint-disable-line max-len\n\t\treturn out;\n\t}\n\tthrow new TypeError( format( 'invalid argument. First argument must be an array-like object or an ndarray. Value: `%s`.', x ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = map2Right;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayLikeObject = require( '@stdlib/assert-is-array-like-object' );\nvar isndarrayLike = require( '@stdlib/assert-is-ndarray-like' );\nvar isFunction = require( '@stdlib/assert-is-function' );\nvar ndarraylike2object = require( '@stdlib/ndarray-base-ndarraylike2object' );\nvar arraylike2object = require( '@stdlib/array-base-arraylike2object' );\nvar broadcast = require( '@stdlib/ndarray-base-maybe-broadcast-array' );\nvar isReadOnly = require( '@stdlib/ndarray-base-assert-is-read-only' );\nvar format = require( '@stdlib/string-format' );\nvar ndarrayFcn = require( './ndarray.js' );\nvar arrayFcn = require( './array.js' );\n\n\n// MAIN //\n\n/**\n* Applies a function to elements in two input arrays while iterating from right to left and assigns the results to an output array.\n*\n* ## Notes\n*\n* - The applied function is provided the following arguments:\n*\n* - **v1**: element from first input array.\n* - **v2**: element from second input array.\n* - **idx**: element index.\n* - **arrays**: input arrays.\n*\n* @param {(ArrayLikeObject|ndarray)} x - first input array\n* @param {(ArrayLikeObject|ndarray)} y - second input array\n* @param {(ArrayLikeObject|ndarray)} out - output array\n* @param {Function} fcn - function to apply\n* @param {*} [thisArg] - function execution context\n* @throws {TypeError} first argument must be an array-like object or an ndarray\n* @throws {TypeError} second argument must be an array-like object or an ndarray\n* @throws {TypeError} third argument must be an array-like object or an ndarray\n* @throws {TypeError} fourth argument must be a function\n* @throws {TypeError} input and output arrays must be either all array-like objects or all ndarrays\n* @throws {RangeError} input and output arrays must have the same length\n* @throws {Error} input and output ndarrays must be broadcast compatible\n* @throws {Error} cannot write to a read-only ndarray\n* @returns {(ArrayLikeObject|ndarray)} output array\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n*\n* var x = [ 1, 2, 3, 4, 5, 6 ];\n* var y = [ 1, 1, 1, 1, 1, 1 ];\n* var out = [ 0, 0, 0, 0, 0, 0 ];\n*\n* map2Right( x, y, out, naryFunction( add, 2 ) );\n*\n* console.log( out );\n* // => [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n* var array = require( '@stdlib/ndarray-array' );\n*\n* var opts = {\n* 'dtype': 'generic',\n* 'shape': [ 2, 3 ]\n* };\n* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );\n* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );\n* var out = array( opts );\n*\n* map2Right( x, y, out, naryFunction( add, 2 ) );\n*\n* var data = out.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*/\nfunction map2Right( x, y, out, fcn, thisArg ) {\n\tvar isxnd;\n\tvar isynd;\n\tvar isznd;\n\tvar tmp;\n\tvar sh;\n\tif ( !isFunction( fcn ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be a function. Value: `%s`.', fcn ) );\n\t}\n\tisxnd = isndarrayLike( x );\n\tisynd = isndarrayLike( y );\n\tisznd = isndarrayLike( out );\n\tif ( isxnd ) { // note: assertion order matters here, as an ndarray-like object is also array-like\n\t\tif ( !isynd ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the first input array is an ndarray, the second input array must also be an ndarray. Value: `%s`.', y ) );\n\t\t}\n\t\tif ( !isznd ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the input arrays are ndarrays, the output array must also be an ndarray. Value: `%s`.', out ) );\n\t\t}\n\t\tif ( isReadOnly( out ) ) {\n\t\t\tthrow new Error( 'invalid argument. The output ndarray must be writable. Cannot write to a read-only ndarray.' );\n\t\t}\n\t\tout = ndarraylike2object( out );\n\t\tsh = out.shape;\n\n\t\t// Broadcast and wrap the input arrays and ensure that the `ref` properties point to the original input arrays...\n\t\ttmp = ndarraylike2object( broadcast( x, sh ) );\n\t\ttmp.ref = x;\n\t\tx = tmp;\n\n\t\ttmp = ndarraylike2object( broadcast( y, sh ) );\n\t\ttmp.ref = y;\n\t\ty = tmp;\n\n\t\tndarrayFcn( x, y, out, fcn, thisArg );\n\t\treturn out.ref;\n\t}\n\tif ( isArrayLikeObject( x ) ) {\n\t\tif ( isynd || !isArrayLikeObject( y ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the first input array is an array-like object, the second input array must also be an array-like object. Value: `%s`.', y ) );\n\t\t}\n\t\tif ( isznd || !isArrayLikeObject( out ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. If the input arrays are array-like objects, the output array must also be an array-like object. Value: `%s`.', out ) );\n\t\t}\n\t\tif ( x.length !== y.length || y.length !== out.length ) {\n\t\t\tthrow new RangeError( 'invalid arguments. Input and output arrays must have the same length.' );\n\t\t}\n\t\tarrayFcn( arraylike2object( x ), arraylike2object( y ), arraylike2object( out ), fcn, thisArg ); // eslint-disable-line max-len\n\t\treturn out;\n\t}\n\tthrow new TypeError( format( 'invalid argument. First argument must be an array-like object or an ndarray. Value: `%s`.', x ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = map2Right;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Apply a function to elements in two input arrays while iterating from right to left and assign the results to an output array.\n*\n* @module @stdlib/utils-map2-right\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n* var map2Right = require( '@stdlib/utils-map2-right' );\n*\n* var x = [ 1, 2, 3, 4, 5, 6 ];\n* var y = [ 1, 1, 1, 1, 1, 1 ];\n*\n* var out = map2Right( x, y, naryFunction( add, 2 ) );\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n* var array = require( '@stdlib/ndarray-array' );\n* var map2Right = require( '@stdlib/utils-map2-right' );\n*\n* var opts = {\n* 'dtype': 'generic'\n* };\n* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );\n* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );\n*\n* var out = map2Right( x, y, naryFunction( add, 2 ) );\n* // returns <ndarray>\n*\n* var data = out.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n* var map2Right = require( '@stdlib/utils-map2-right' );\n*\n* var x = [ 1, 2, 3, 4, 5, 6 ];\n* var y = [ 1, 1, 1, 1, 1, 1 ];\n* var out = [ 0, 0, 0, 0, 0, 0 ];\n*\n* map2Right.assign( x, y, out, naryFunction( add, 2 ) );\n*\n* console.log( out );\n* // => [ 2, 3, 4, 5, 6, 7 ]\n*\n* @example\n* var naryFunction = require( '@stdlib/utils-nary-function' );\n* var add = require( '@stdlib/number-float64-base-add' );\n* var array = require( '@stdlib/ndarray-array' );\n* var map2Right = require( '@stdlib/utils-map2-right' );\n*\n* var opts = {\n* 'dtype': 'generic',\n* 'shape': [ 2, 3 ]\n* };\n* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );\n* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );\n* var out = array( opts );\n*\n* map2Right.assign( x, y, out, naryFunction( add, 2 ) );\n*\n* var data = out.data;\n* // returns [ 2, 3, 4, 5, 6, 7 ]\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar assign = require( './assign.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'assign', assign );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n"],
|
|
5
5
|
"mappings": "uGAAA,IAAAA,EAAAC,EAAA,SAAAC,GAAAC,EAAA,cAsBA,IAAIC,EAAY,QAAS,gCAAiC,EAKtDC,EAAO,QA+HX,SAASC,GAAWC,EAAGC,EAAGC,EAAGC,EAAKC,EAAU,CAC3C,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAwCJ,GArCAV,EAAMnB,EAAE,OAGRgB,EAAMhB,EAAE,MACRiB,EAAMhB,EAAE,MACRiB,EAAMhB,EAAE,MAGRG,EAAOL,EAAE,KACTM,EAAOL,EAAE,KACTM,EAAOL,EAAE,KAGTkB,EAAKpB,EAAE,QACPqB,EAAKpB,EAAE,QACPqB,EAAKpB,EAAE,QAGPqB,EAAKvB,EAAE,OACPwB,EAAKvB,EAAE,OACPwB,EAAKvB,EAAE,OAGPM,EAAOR,EAAE,MACTS,EAAOR,EAAE,MACTS,EAAOR,EAAE,MAGTS,EAAOX,EAAE,UAAW,CAAE,EACtBY,EAAOX,EAAE,UAAW,CAAE,EACtBY,EAAOX,EAAE,UAAW,CAAE,EAGtBY,EAAOd,EAAE,IACTe,EAAOd,EAAE,IAGJe,EAAI,SAAW,GAAKC,EAAI,SAAW,EAAI,CAC3CJ,EAAMN,EAAMkB,EAAItB,EAAI,KAAMC,EAASO,EAAMN,EAAMkB,CAAG,EAAGX,EAAMN,EAAMkB,CAAG,EAAG,EAAG,CAAEV,EAAMC,CAAK,CAAE,CAAE,EAC3F,MACD,CAEA,IAAMc,EAAIV,EAAI,EAAGU,GAAK,EAAGA,IACxBH,EAAK7B,EAAWmB,EAAKI,EAAIG,EAAIf,EAAMqB,EAAG/B,CAAK,EAC3C6B,EAAK9B,EAAWoB,EAAKI,EAAIG,EAAIf,EAAMoB,EAAG/B,CAAK,EAC3C8B,EAAK/B,EAAWqB,EAAKI,EAAIG,EAAIf,EAAMmB,EAAG/B,CAAK,EAC3Ce,EAAMN,EAAMqB,EAAIzB,EAAI,KAAMC,EAASO,EAAMN,EAAMqB,CAAG,EAAGd,EAAMN,EAAMqB,CAAG,EAAGE,EAAG,CAAEf,EAAMC,CAAK,CAAE,CAAE,CAE7F,CAKAnB,EAAO,QAAUG,KC3OjB,IAAA+B,EAAAC,EAAA,SAAAC,GAAAC,EAAA,cAuEA,SAASC,GAAWC,EAAGC,EAAGC,EAAGC,EAAKC,EAAU,CAC3C,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAaJ,IAVAN,EAAOL,EAAE,KACTM,EAAOL,EAAE,KACTM,EAAOL,EAAE,KAGTM,EAAOR,EAAE,UAAW,CAAE,EACtBS,EAAOR,EAAE,UAAW,CAAE,EACtBS,EAAOR,EAAE,UAAW,CAAE,EAGhBS,EAAIN,EAAK,OAAO,EAAGM,GAAK,EAAGA,IAChCD,EAAMH,EAAMI,EAAGR,EAAI,KAAMC,EAASI,EAAMH,EAAMM,CAAE,EAAGF,EAAMH,EAAMK,CAAE,EAAGA,EAAG,CAAEN,EAAMC,CAAK,CAAE,CAAE,CAE1F,CAKAR,EAAO,QAAUC,KCnGjB,IAAAa,EAAAC,EAAA,SAAAC,GAAAC,EAAA,cAsBA,IAAIC,EAAoB,QAAS,qCAAsC,EACnEC,EAAgB,QAAS,gCAAiC,EAC1DC,GAAa,QAAS,4BAA6B,EACnDC,GAAQ,QAAS,0BAA2B,EAC5CC,EAAqB,QAAS,yCAA0C,EACxEC,EAAmB,QAAS,qCAAsC,EAClEC,GAAU,QAAS,uBAAwB,EAC3CC,GAAkB,QAAS,uCAAwC,EACnEC,EAAY,QAAS,4CAA6C,EAClEC,EAAS,QAAS,uBAAwB,EAC1CC,GAAa,IACbC,GAAW,IAwDf,SAASC,GAAWC,EAAGC,EAAGC,EAAKC,EAAU,CACxC,IAAIC,EACAC,EACAC,EACAC,EACAC,EAEJ,GAAK,CAACnB,GAAYa,CAAI,EACrB,MAAM,IAAI,UAAWN,EAAQ,qEAAsEM,CAAI,CAAE,EAI1G,GAFAE,EAAQhB,EAAeY,CAAE,EACzBK,EAAQjB,EAAea,CAAE,EACpBG,EAAQ,CACZ,GAAK,CAACC,EACL,MAAM,IAAI,UAAWT,EAAQ,yHAA0HK,CAAE,CAAE,EAI5J,GADAO,EAAKd,GAAiB,CAAEM,EAAE,MAAOC,EAAE,KAAM,CAAE,EACtCO,IAAO,KACX,MAAM,IAAI,MAAO,iEAAkE,EAGpF,OAAAD,EAAMhB,EAAoBI,EAAWK,EAAGQ,CAAG,CAAE,EAC7CD,EAAI,IAAMP,EACVA,EAAIO,EAEJA,EAAMhB,EAAoBI,EAAWM,EAAGO,CAAG,CAAE,EAC7CD,EAAI,IAAMN,EACVA,EAAIM,EAGJD,EAAMb,GAASe,EAAI,CAClB,MAAS,UACT,MAASR,EAAE,KACZ,CAAC,EAGDH,GAAYG,EAAGC,EAAGV,EAAoBe,CAAI,EAAGJ,EAAKC,CAAQ,EACnDG,CACR,CACA,GAAKnB,EAAmBa,CAAE,EAAI,CAC7B,GAAKK,GAAS,CAAClB,EAAmBc,CAAE,EACnC,MAAM,IAAI,UAAWL,EAAQ,6IAA8IK,CAAE,CAAE,EAEhL,GAAKA,EAAE,SAAWD,EAAE,OACnB,MAAM,IAAI,WAAY,4DAA6D,EAEpF,OAAAM,EAAMhB,GAAOU,EAAE,MAAO,EACtBF,GAAUN,EAAkBQ,CAAE,EAAGR,EAAkBS,CAAE,EAAGT,EAAkBc,CAAI,EAAGJ,EAAKC,CAAQ,EACvFG,CACR,CACA,MAAM,IAAI,UAAWV,EAAQ,4FAA6FI,CAAE,CAAE,CAC/H,CAKAd,EAAO,QAAUa,KClJjB,IAAAU,EAAAC,EAAA,SAAAC,GAAAC,EAAA,cAsBA,IAAIC,EAAoB,QAAS,qCAAsC,EACnEC,EAAgB,QAAS,gCAAiC,EAC1DC,GAAa,QAAS,4BAA6B,EACnDC,EAAqB,QAAS,yCAA0C,EACxEC,EAAmB,QAAS,qCAAsC,EAClEC,EAAY,QAAS,4CAA6C,EAClEC,GAAa,QAAS,0CAA2C,EACjEC,EAAS,QAAS,uBAAwB,EAC1CC,GAAa,IACbC,GAAW,IA+Df,SAASC,GAAWC,EAAGC,EAAGC,EAAKC,EAAKC,EAAU,CAC7C,IAAIC,EACAC,EACAC,EACAC,EACAC,EACJ,GAAK,CAAClB,GAAYY,CAAI,EACrB,MAAM,IAAI,UAAWP,EAAQ,qEAAsEO,CAAI,CAAE,EAK1G,GAHAE,EAAQf,EAAeU,CAAE,EACzBM,EAAQhB,EAAeW,CAAE,EACzBM,EAAQjB,EAAeY,CAAI,EACtBG,EAAQ,CACZ,GAAK,CAACC,EACL,MAAM,IAAI,UAAWV,EAAQ,yHAA0HK,CAAE,CAAE,EAE5J,GAAK,CAACM,EACL,MAAM,IAAI,UAAWX,EAAQ,6GAA8GM,CAAI,CAAE,EAElJ,GAAKP,GAAYO,CAAI,EACpB,MAAM,IAAI,MAAO,6FAA8F,EAEhH,OAAAA,EAAMV,EAAoBU,CAAI,EAC9BO,EAAKP,EAAI,MAGTM,EAAMhB,EAAoBE,EAAWM,EAAGS,CAAG,CAAE,EAC7CD,EAAI,IAAMR,EACVA,EAAIQ,EAEJA,EAAMhB,EAAoBE,EAAWO,EAAGQ,CAAG,CAAE,EAC7CD,EAAI,IAAMP,EACVA,EAAIO,EAEJX,GAAYG,EAAGC,EAAGC,EAAKC,EAAKC,CAAQ,EAC7BF,EAAI,GACZ,CACA,GAAKb,EAAmBW,CAAE,EAAI,CAC7B,GAAKM,GAAS,CAACjB,EAAmBY,CAAE,EACnC,MAAM,IAAI,UAAWL,EAAQ,6IAA8IK,CAAE,CAAE,EAEhL,GAAKM,GAAS,CAAClB,EAAmBa,CAAI,EACrC,MAAM,IAAI,UAAWN,EAAQ,iIAAkIM,CAAI,CAAE,EAEtK,GAAKF,EAAE,SAAWC,EAAE,QAAUA,EAAE,SAAWC,EAAI,OAC9C,MAAM,IAAI,WAAY,uEAAwE,EAE/F,OAAAJ,GAAUL,EAAkBO,CAAE,EAAGP,EAAkBQ,CAAE,EAAGR,EAAkBS,CAAI,EAAGC,EAAKC,CAAQ,EACvFF,CACR,CACA,MAAM,IAAI,UAAWN,EAAQ,4FAA6FI,CAAE,CAAE,CAC/H,CAKAZ,EAAO,QAAUW,KC5DjB,IAAIW,GAAc,QAAS,uDAAwD,EAC/EC,EAAO,IACPC,GAAS,IAKbF,GAAaC,EAAM,SAAUC,EAAO,EAKpC,OAAO,QAAUD",
|
|
6
6
|
"names": ["require_ndarray", "__commonJSMin", "exports", "module", "vind2bind", "MODE", "map2Right", "x", "y", "z", "fcn", "thisArg", "xbuf", "ybuf", "zbuf", "ordx", "ordy", "ordz", "xget", "yget", "zset", "xref", "yref", "shx", "shy", "shz", "len", "sx", "sy", "sz", "ox", "oy", "oz", "ix", "iy", "iz", "i", "require_array", "__commonJSMin", "exports", "module", "map2Right", "x", "y", "z", "fcn", "thisArg", "xbuf", "ybuf", "zbuf", "xget", "yget", "zset", "i", "require_main", "__commonJSMin", "exports", "module", "isArrayLikeObject", "isndarrayLike", "isFunction", "zeros", "ndarraylike2object", "arraylike2object", "ndzeros", "broadcastShapes", "broadcast", "format", "ndarrayFcn", "arrayFcn", "map2Right", "x", "y", "fcn", "thisArg", "isxnd", "isynd", "out", "tmp", "sh", "require_assign", "__commonJSMin", "exports", "module", "isArrayLikeObject", "isndarrayLike", "isFunction", "ndarraylike2object", "arraylike2object", "broadcast", "isReadOnly", "format", "ndarrayFcn", "arrayFcn", "map2Right", "x", "y", "out", "fcn", "thisArg", "isxnd", "isynd", "isznd", "tmp", "sh", "setReadOnly", "main", "assign"]
|
|
7
7
|
}
|
package/docs/types/index.d.ts
CHANGED
|
@@ -129,7 +129,7 @@ interface Routine {
|
|
|
129
129
|
*
|
|
130
130
|
* @example
|
|
131
131
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
132
|
-
* var add = require( '@stdlib/
|
|
132
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
133
133
|
* var array = require( '@stdlib/ndarray-array' );
|
|
134
134
|
*
|
|
135
135
|
* var opts = {
|
|
@@ -166,7 +166,7 @@ interface Routine {
|
|
|
166
166
|
*
|
|
167
167
|
* @example
|
|
168
168
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
169
|
-
* var add = require( '@stdlib/
|
|
169
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
170
170
|
*
|
|
171
171
|
* var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
172
172
|
* var y = [ 1, 1, 1, 1, 1, 1 ];
|
|
@@ -197,7 +197,7 @@ interface Routine {
|
|
|
197
197
|
*
|
|
198
198
|
* @example
|
|
199
199
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
200
|
-
* var add = require( '@stdlib/
|
|
200
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
201
201
|
* var array = require( '@stdlib/ndarray-array' );
|
|
202
202
|
*
|
|
203
203
|
* var opts = {
|
|
@@ -236,7 +236,7 @@ interface Routine {
|
|
|
236
236
|
*
|
|
237
237
|
* @example
|
|
238
238
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
239
|
-
* var add = require( '@stdlib/
|
|
239
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
240
240
|
*
|
|
241
241
|
* var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
242
242
|
* var y = [ 1, 1, 1, 1, 1, 1 ];
|
|
@@ -270,7 +270,7 @@ interface Routine {
|
|
|
270
270
|
*
|
|
271
271
|
* @example
|
|
272
272
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
273
|
-
* var add = require( '@stdlib/
|
|
273
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
274
274
|
*
|
|
275
275
|
* var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
276
276
|
* var y = [ 1, 1, 1, 1, 1, 1 ];
|
|
@@ -280,7 +280,7 @@ interface Routine {
|
|
|
280
280
|
*
|
|
281
281
|
* @example
|
|
282
282
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
283
|
-
* var add = require( '@stdlib/
|
|
283
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
284
284
|
* var array = require( '@stdlib/ndarray-array' );
|
|
285
285
|
*
|
|
286
286
|
* var opts = {
|
|
@@ -297,7 +297,7 @@ interface Routine {
|
|
|
297
297
|
*
|
|
298
298
|
* @example
|
|
299
299
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
300
|
-
* var add = require( '@stdlib/
|
|
300
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
301
301
|
*
|
|
302
302
|
* var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
303
303
|
* var y = [ 1, 1, 1, 1, 1, 1 ];
|
|
@@ -310,7 +310,7 @@ interface Routine {
|
|
|
310
310
|
*
|
|
311
311
|
* @example
|
|
312
312
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
313
|
-
* var add = require( '@stdlib/
|
|
313
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
314
314
|
* var array = require( '@stdlib/ndarray-array' );
|
|
315
315
|
*
|
|
316
316
|
* var opts = {
|
package/lib/array.js
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
*
|
|
40
40
|
* @example
|
|
41
41
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
42
|
-
* var add = require( '@stdlib/
|
|
42
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
43
43
|
*
|
|
44
44
|
* // Define getters and setters:
|
|
45
45
|
* function getter( buf, idx ) {
|
package/lib/assign.js
CHANGED
|
@@ -63,7 +63,7 @@ var arrayFcn = require( './array.js' );
|
|
|
63
63
|
*
|
|
64
64
|
* @example
|
|
65
65
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
66
|
-
* var add = require( '@stdlib/
|
|
66
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
67
67
|
*
|
|
68
68
|
* var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
69
69
|
* var y = [ 1, 1, 1, 1, 1, 1 ];
|
|
@@ -76,7 +76,7 @@ var arrayFcn = require( './array.js' );
|
|
|
76
76
|
*
|
|
77
77
|
* @example
|
|
78
78
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
79
|
-
* var add = require( '@stdlib/
|
|
79
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
80
80
|
* var array = require( '@stdlib/ndarray-array' );
|
|
81
81
|
*
|
|
82
82
|
* var opts = {
|
package/lib/index.js
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
*
|
|
26
26
|
* @example
|
|
27
27
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
28
|
-
* var add = require( '@stdlib/
|
|
28
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
29
29
|
* var map2Right = require( '@stdlib/utils-map2-right' );
|
|
30
30
|
*
|
|
31
31
|
* var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
*
|
|
37
37
|
* @example
|
|
38
38
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
39
|
-
* var add = require( '@stdlib/
|
|
39
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
40
40
|
* var array = require( '@stdlib/ndarray-array' );
|
|
41
41
|
* var map2Right = require( '@stdlib/utils-map2-right' );
|
|
42
42
|
*
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
* var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], opts );
|
|
47
47
|
* var y = array( [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], opts );
|
|
48
48
|
*
|
|
49
|
-
* var out = map2Right( x, y
|
|
49
|
+
* var out = map2Right( x, y, naryFunction( add, 2 ) );
|
|
50
50
|
* // returns <ndarray>
|
|
51
51
|
*
|
|
52
52
|
* var data = out.data;
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
*
|
|
55
55
|
* @example
|
|
56
56
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
57
|
-
* var add = require( '@stdlib/
|
|
57
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
58
58
|
* var map2Right = require( '@stdlib/utils-map2-right' );
|
|
59
59
|
*
|
|
60
60
|
* var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
*
|
|
69
69
|
* @example
|
|
70
70
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
71
|
-
* var add = require( '@stdlib/
|
|
71
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
72
72
|
* var array = require( '@stdlib/ndarray-array' );
|
|
73
73
|
* var map2Right = require( '@stdlib/utils-map2-right' );
|
|
74
74
|
*
|
package/lib/main.js
CHANGED
|
@@ -62,7 +62,7 @@ var arrayFcn = require( './array.js' );
|
|
|
62
62
|
*
|
|
63
63
|
* @example
|
|
64
64
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
65
|
-
* var add = require( '@stdlib/
|
|
65
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
66
66
|
*
|
|
67
67
|
* var x = [ 1, 2, 3, 4, 5, 6 ];
|
|
68
68
|
* var y = [ 1, 1, 1, 1, 1, 1 ];
|
|
@@ -72,7 +72,7 @@ var arrayFcn = require( './array.js' );
|
|
|
72
72
|
*
|
|
73
73
|
* @example
|
|
74
74
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
75
|
-
* var add = require( '@stdlib/
|
|
75
|
+
* var add = require( '@stdlib/number-float64-base-add' );
|
|
76
76
|
* var array = require( '@stdlib/ndarray-array' );
|
|
77
77
|
*
|
|
78
78
|
* var opts = {
|
package/lib/ndarray.js
CHANGED
|
@@ -69,11 +69,11 @@ var MODE = 'throw';
|
|
|
69
69
|
*
|
|
70
70
|
* @example
|
|
71
71
|
* var Complex64Array = require( '@stdlib/array-complex64' );
|
|
72
|
-
* var Complex64 = require( '@stdlib/complex-float32' );
|
|
73
|
-
* var realf = require( '@stdlib/complex-
|
|
74
|
-
* var imagf = require( '@stdlib/complex-
|
|
72
|
+
* var Complex64 = require( '@stdlib/complex-float32-ctor' );
|
|
73
|
+
* var realf = require( '@stdlib/complex-float32-real' );
|
|
74
|
+
* var imagf = require( '@stdlib/complex-float32-imag' );
|
|
75
75
|
* var naryFunction = require( '@stdlib/utils-nary-function' );
|
|
76
|
-
* var add = require( '@stdlib/
|
|
76
|
+
* var add = require( '@stdlib/complex-float32-base-add' );
|
|
77
77
|
*
|
|
78
78
|
* // Create data buffers:
|
|
79
79
|
* var xbuf = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stdlib/utils-map2-right",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Apply a function to elements in two input arrays while iterating from right to left and assign the results to an output array.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -30,20 +30,20 @@
|
|
|
30
30
|
"url": "https://github.com/stdlib-js/stdlib/issues"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@stdlib/array-base-arraylike2object": "^0.2.
|
|
34
|
-
"@stdlib/array-base-zeros": "^0.2.
|
|
35
|
-
"@stdlib/assert-is-array-like-object": "^0.2.
|
|
36
|
-
"@stdlib/assert-is-function": "^0.2.
|
|
37
|
-
"@stdlib/assert-is-ndarray-like": "^0.2.
|
|
38
|
-
"@stdlib/ndarray-base-assert-is-read-only": "^0.2.
|
|
39
|
-
"@stdlib/ndarray-base-broadcast-shapes": "^0.2.
|
|
40
|
-
"@stdlib/ndarray-base-maybe-broadcast-array": "^0.2.
|
|
41
|
-
"@stdlib/ndarray-base-ndarraylike2object": "^0.2.
|
|
42
|
-
"@stdlib/ndarray-base-vind2bind": "^0.2.
|
|
43
|
-
"@stdlib/ndarray-zeros": "^0.
|
|
44
|
-
"@stdlib/string-format": "^0.2.
|
|
45
|
-
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.2.
|
|
46
|
-
"@stdlib/error-tools-fmtprodmsg": "^0.2.
|
|
33
|
+
"@stdlib/array-base-arraylike2object": "^0.2.2",
|
|
34
|
+
"@stdlib/array-base-zeros": "^0.2.3",
|
|
35
|
+
"@stdlib/assert-is-array-like-object": "^0.2.3",
|
|
36
|
+
"@stdlib/assert-is-function": "^0.2.3",
|
|
37
|
+
"@stdlib/assert-is-ndarray-like": "^0.2.2",
|
|
38
|
+
"@stdlib/ndarray-base-assert-is-read-only": "^0.2.3",
|
|
39
|
+
"@stdlib/ndarray-base-broadcast-shapes": "^0.2.3",
|
|
40
|
+
"@stdlib/ndarray-base-maybe-broadcast-array": "^0.2.5",
|
|
41
|
+
"@stdlib/ndarray-base-ndarraylike2object": "^0.2.3",
|
|
42
|
+
"@stdlib/ndarray-base-vind2bind": "^0.2.3",
|
|
43
|
+
"@stdlib/ndarray-zeros": "^0.3.0",
|
|
44
|
+
"@stdlib/string-format": "^0.2.3",
|
|
45
|
+
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.2.3",
|
|
46
|
+
"@stdlib/error-tools-fmtprodmsg": "^0.2.3"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {},
|
|
49
49
|
"engines": {
|