@stdlib/utils-map2-right 0.2.0 → 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 CHANGED
@@ -1 +1 @@
1
- Copyright (c) 2016-2024 The Stdlib Authors.
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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-realf' );
233
- var imagf = require( '@stdlib/complex-imagf' );
234
- var add = require( '@stdlib/math-base-ops-caddf' );
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/math-base-ops-add' );
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 &copy; 2016-2024. The Stdlib [Authors][stdlib-authors].
357
+ Copyright &copy; 2016-2026. The Stdlib [Authors][stdlib-authors].
358
358
 
359
359
  </section>
360
360
 
@@ -367,8 +367,8 @@ Copyright &copy; 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.0
371
- [test-url]: https://github.com/stdlib-js/utils-map2-right/actions/workflows/test.yml?query=branch:v0.2.0
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 &copy; 2016-2024. The Stdlib [Authors][stdlib-authors].
380
380
 
381
381
  -->
382
382
 
383
- [chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
384
- [chat-url]: https://app.gitter.im/#/room/#stdlib-js_stdlib:gitter.im
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
- var T=require('@stdlib/ndarray-base-vind2bind/dist'),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
3
- });var I=c(function(gr,Q){
4
- 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
5
- });var Z=c(function(br,Y){
6
- var U=require('@stdlib/assert-is-array-like-object/dist'),W=require('@stdlib/assert-is-ndarray-like/dist'),er=require('@stdlib/assert-is-function/dist'),tr=require('@stdlib/array-base-zeros/dist'),R=require('@stdlib/ndarray-base-ndarraylike2object/dist'),z=require('@stdlib/array-base-arraylike2object/dist'),ir=require('@stdlib/ndarray-zeros/dist'),nr=require('@stdlib/ndarray-base-broadcast-shapes/dist'),X=require('@stdlib/ndarray-base-maybe-broadcast-array/dist'),p=require('@stdlib/error-tools-fmtprodmsg/dist'),sr=F(),ur=I();function or(a,r,e,u){var v,s,t,n,i;if(!er(e))throw new TypeError(p('1VV2H',e));if(v=W(a),s=W(r),v){if(!s)throw new TypeError(p('1VVBI',r));if(i=nr([a.shape,r.shape]),i===null)throw new Error(h('1VV1j'));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('1VVBK',r));if(r.length!==a.length)throw new RangeError(h('1VVD3'));return t=tr(a.length),ur(z(a),z(r),z(t),e,u),t}throw new TypeError(p('1VVBH',a))}Y.exports=or
7
- });var A=c(function(wr,$){
8
- var O=require('@stdlib/assert-is-array-like-object/dist'),L=require('@stdlib/assert-is-ndarray-like/dist'),vr=require('@stdlib/assert-is-function/dist'),S=require('@stdlib/ndarray-base-ndarraylike2object/dist'),C=require('@stdlib/array-base-arraylike2object/dist'),_=require('@stdlib/ndarray-base-maybe-broadcast-array/dist'),dr=require('@stdlib/ndarray-base-assert-is-read-only/dist'),h=require('@stdlib/error-tools-fmtprodmsg/dist'),lr=F(),hr=I();function fr(a,r,e,u,v){var s,t,n,i,d;if(!vr(u))throw new TypeError(h('1VV32',u));if(s=L(a),t=L(r),n=L(e),s){if(!t)throw new TypeError(h('1VVBI',r));if(!n)throw new TypeError(h('1VVBJ',e));if(dr(e))throw new Error(h('1VV1g'));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('1VVBK',r));if(n||!O(e))throw new TypeError(h('1VVBL',e));if(a.length!==r.length||r.length!==e.length)throw new RangeError(h('1VV1h'));return hr(C(a),C(r),C(e),u,v),e}throw new TypeError(h('1VVBH',a))}$.exports=fr
9
- });var cr=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),x=Z(),pr=A();cr(x,"assign",pr);module.exports=x;
10
- /** @license Apache-2.0 */
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": "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",
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
  }
@@ -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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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. naryFunction( add, 2 ) );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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/math-base-ops-add' );
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-realf' );
74
- * var imagf = require( '@stdlib/complex-imagf' );
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/math-base-ops-caddf' );
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.0",
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": {
@@ -15,19 +15,12 @@
15
15
  ],
16
16
  "main": "./lib",
17
17
  "directories": {
18
- "benchmark": "./benchmark",
19
18
  "doc": "./docs",
20
- "example": "./examples",
21
19
  "lib": "./lib",
22
- "test": "./test"
20
+ "dist": "./dist"
23
21
  },
24
22
  "types": "./docs/types",
25
- "scripts": {
26
- "test": "make test",
27
- "test-cov": "make test-cov",
28
- "examples": "make examples",
29
- "benchmark": "make benchmark"
30
- },
23
+ "scripts": {},
31
24
  "homepage": "https://stdlib.io",
32
25
  "repository": {
33
26
  "type": "git",
@@ -37,43 +30,22 @@
37
30
  "url": "https://github.com/stdlib-js/stdlib/issues"
38
31
  },
39
32
  "dependencies": {
40
- "@stdlib/array-base-arraylike2object": "^0.2.0",
41
- "@stdlib/array-base-zeros": "^0.2.0",
42
- "@stdlib/assert-is-array-like-object": "^0.2.0",
43
- "@stdlib/assert-is-function": "^0.2.0",
44
- "@stdlib/assert-is-ndarray-like": "^0.2.0",
45
- "@stdlib/ndarray-base-assert-is-read-only": "^0.2.0",
46
- "@stdlib/ndarray-base-broadcast-shapes": "^0.2.0",
47
- "@stdlib/ndarray-base-maybe-broadcast-array": "^0.2.0",
48
- "@stdlib/ndarray-base-ndarraylike2object": "^0.2.0",
49
- "@stdlib/ndarray-base-vind2bind": "^0.2.0",
50
- "@stdlib/ndarray-zeros": "^0.2.0",
51
- "@stdlib/string-format": "^0.2.0",
52
- "@stdlib/types": "^0.3.1",
53
- "@stdlib/utils-define-nonenumerable-read-only-property": "^0.2.0",
54
- "@stdlib/error-tools-fmtprodmsg": "^0.2.0"
55
- },
56
- "devDependencies": {
57
- "@stdlib/array-base-filled": "^0.2.0",
58
- "@stdlib/array-complex64": "^0.1.0",
59
- "@stdlib/array-filled-by": "^0.1.0",
60
- "@stdlib/array-float64": "^0.2.0",
61
- "@stdlib/assert-is-array": "^0.2.0",
62
- "@stdlib/complex-imagf": "^0.2.0",
63
- "@stdlib/complex-realf": "^0.2.0",
64
- "@stdlib/math-base-ops-add": "^0.2.0",
65
- "@stdlib/math-base-ops-caddf": "^0.2.0",
66
- "@stdlib/math-base-special-pow": "^0.2.0",
67
- "@stdlib/ndarray-array": "^0.1.0",
68
- "@stdlib/ndarray-ctor": "^0.1.0",
69
- "@stdlib/random-base-discrete-uniform": "^0.1.0",
70
- "@stdlib/utils-nary-function": "^0.2.0",
71
- "tape": "git+https://github.com/kgryte/tape.git#fix/globby",
72
- "istanbul": "^0.4.1",
73
- "tap-min": "git+https://github.com/Planeshifter/tap-min.git",
74
- "@stdlib/bench-harness": "^0.2.0",
75
- "@stdlib/bench": "^0.3.1"
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"
76
47
  },
48
+ "devDependencies": {},
77
49
  "engines": {
78
50
  "node": ">=0.10.0",
79
51
  "npm": ">2.7.0"