@stdlib/strided-base-nullary-addon-dispatch 0.2.1 → 0.3.1

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
@@ -291,7 +291,7 @@ See [LICENSE][stdlib-license].
291
291
 
292
292
  ## Copyright
293
293
 
294
- Copyright © 2016-2024. The Stdlib [Authors][stdlib-authors].
294
+ Copyright © 2016-2026. The Stdlib [Authors][stdlib-authors].
295
295
 
296
296
  </section>
297
297
 
@@ -304,8 +304,8 @@ Copyright &copy; 2016-2024. The Stdlib [Authors][stdlib-authors].
304
304
  [npm-image]: http://img.shields.io/npm/v/@stdlib/strided-base-nullary-addon-dispatch.svg
305
305
  [npm-url]: https://npmjs.org/package/@stdlib/strided-base-nullary-addon-dispatch
306
306
 
307
- [test-image]: https://github.com/stdlib-js/strided-base-nullary-addon-dispatch/actions/workflows/test.yml/badge.svg?branch=v0.2.1
308
- [test-url]: https://github.com/stdlib-js/strided-base-nullary-addon-dispatch/actions/workflows/test.yml?query=branch:v0.2.1
307
+ [test-image]: https://github.com/stdlib-js/strided-base-nullary-addon-dispatch/actions/workflows/test.yml/badge.svg?branch=v0.3.1
308
+ [test-url]: https://github.com/stdlib-js/strided-base-nullary-addon-dispatch/actions/workflows/test.yml?query=branch:v0.3.1
309
309
 
310
310
  [coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/strided-base-nullary-addon-dispatch/main.svg
311
311
  [coverage-url]: https://codecov.io/github/stdlib-js/strided-base-nullary-addon-dispatch?branch=main
@@ -317,8 +317,8 @@ Copyright &copy; 2016-2024. The Stdlib [Authors][stdlib-authors].
317
317
 
318
318
  -->
319
319
 
320
- [chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
321
- [chat-url]: https://app.gitter.im/#/room/#stdlib-js_stdlib:gitter.im
320
+ [chat-image]: https://img.shields.io/badge/zulip-join_chat-brightgreen.svg
321
+ [chat-url]: https://stdlib.zulipchat.com
322
322
 
323
323
  [stdlib]: https://github.com/stdlib-js/stdlib
324
324
 
package/dist/index.js CHANGED
@@ -1,7 +1,36 @@
1
- "use strict";var p=function(a,n){return function(){return n||a((n={exports:{}}).exports,n),n.exports}};var w=p(function(z,q){
2
- var c=require('@stdlib/assert-is-function/dist'),T=require('@stdlib/assert-is-typed-array-like/dist'),s=require('@stdlib/strided-base-dtype-resolve-enum/dist'),C=require('@stdlib/strided-base-reinterpret-complex64/dist'),V=require('@stdlib/strided-base-reinterpret-complex128/dist'),g=require('@stdlib/error-tools-fmtprodmsg/dist'),d=s("complex64"),L=s("complex128");function O(a,n){if(!c(a))throw new TypeError(g('1fR3c',a));if(!c(n))throw new TypeError(g('1fR2H',n));return v;function v(u,r,e,t){var i;if(!T(e))return n(u,r,e,t),e;if(r=s(r),r===null)throw new TypeError(m('1fR1L'));return r===d?i=C(e,0):r===L?i=V(e,0):i=e,a(u,r,i,t),e}}q.exports=O
3
- });var E=p(function(D,h){
4
- var f=require('@stdlib/assert-is-function/dist'),P=require('@stdlib/assert-is-typed-array-like/dist'),F=require('@stdlib/assert-is-nonnegative-integer/dist').isPrimitive,l=require('@stdlib/strided-base-dtype-resolve-enum/dist'),M=require('@stdlib/strided-base-reinterpret-complex64/dist'),b=require('@stdlib/strided-base-reinterpret-complex128/dist'),A=require('@stdlib/strided-base-offset-view/dist'),I=require('@stdlib/strided-base-min-view-buffer-index/dist'),m=require('@stdlib/error-tools-fmtprodmsg/dist'),S=l("complex64"),U=l("complex128");function B(a,n){if(!f(a))throw new TypeError(m('1fR3c',a));if(!f(n))throw new TypeError(m('1fR2H',n));return v;function v(u,r,e,t,i){var o;if(!P(e))return n(u,r,e,t,i),e;if(r=l(r),r===null)throw new TypeError(m('1fR1L'));if(!F(i))throw new TypeError(m('1fRAE',i));return i=I(u,t,i),r===S?o=M(e,i):r===U?o=b(e,i):o=A(e,i),a(u,r,o,t),e}}h.exports=B
5
- });var R=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),y=w(),j=E();R(y,"ndarray",j);module.exports=y;
6
- /** @license Apache-2.0 */
1
+ "use strict";var p=function(n,a){return function(){return a||n((a={exports:{}}).exports,a),a.exports}};var w=p(function(J,g){"use strict";var c=require("@stdlib/assert-is-function"),T=require("@stdlib/assert-is-typed-array-like"),v=require("@stdlib/strided-base-dtype-resolve-enum"),C=require("@stdlib/strided-base-reinterpret-complex64"),L=require("@stdlib/strided-base-reinterpret-complex128"),y=require("@stdlib/strided-base-reinterpret-boolean"),q=require("@stdlib/string-format"),V=v("complex64"),b=v("complex128"),B=v("bool");function P(n,a){if(!c(n))throw new TypeError(q("invalid argument. First argument must be a function. Value: `%s`.",n));if(!c(a))throw new TypeError(q("invalid argument. Second argument must be a function. Value: `%s`.",a));return l;function l(u,r,e,t){var i;if(!T(e))return a(u,r,e,t),e;if(r=v(r),r===null)throw new TypeError("invalid arguments. Unable to resolve a strided array function supporting the provided array argument data types.");return r===V?i=C(e,0):r===b?i=L(e,0):r===B?i=y(e,0):i=e,n(u,r,i,t),e}}g.exports=P});var E=p(function(K,h){"use strict";var f=require("@stdlib/assert-is-function"),d=require("@stdlib/assert-is-typed-array-like"),A=require("@stdlib/assert-is-nonnegative-integer").isPrimitive,s=require("@stdlib/strided-base-dtype-resolve-enum"),F=require("@stdlib/strided-base-reinterpret-complex64"),M=require("@stdlib/strided-base-reinterpret-complex128"),I=require("@stdlib/strided-base-reinterpret-boolean"),S=require("@stdlib/strided-base-offset-view"),U=require("@stdlib/strided-base-min-view-buffer-index"),m=require("@stdlib/string-format"),N=s("complex64"),R=s("complex128"),j=s("bool");function z(n,a){if(!f(n))throw new TypeError(m("invalid argument. First argument must be a function. Value: `%s`.",n));if(!f(a))throw new TypeError(m("invalid argument. Second argument must be a function. Value: `%s`.",a));return l;function l(u,r,e,t,i){var o;if(!d(e))return a(u,r,e,t,i),e;if(r=s(r),r===null)throw new TypeError("invalid arguments. Unable to resolve a strided array function supporting the provided array argument data types.");if(!A(i))throw new TypeError(m("invalid argument. Output array offset must be a nonnegative integer. Value: `%s`.",i));return i=U(u,t,i),r===N?o=F(e,i):r===R?o=M(e,i):r===j?o=I(e,i):o=S(e,i),n(u,r,o,t),e}}h.exports=z});var D=require("@stdlib/utils-define-nonenumerable-read-only-property"),O=w(),G=E();D(O,"ndarray",G);module.exports=O;
2
+ /**
3
+ * @license Apache-2.0
4
+ *
5
+ * Copyright (c) 2024 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
+ */
19
+ /**
20
+ * @license Apache-2.0
21
+ *
22
+ * Copyright (c) 2022 The Stdlib Authors.
23
+ *
24
+ * Licensed under the Apache License, Version 2.0 (the "License");
25
+ * you may not use this file except in compliance with the License.
26
+ * You may obtain a copy of the License at
27
+ *
28
+ * http://www.apache.org/licenses/LICENSE-2.0
29
+ *
30
+ * Unless required by applicable law or agreed to in writing, software
31
+ * distributed under the License is distributed on an "AS IS" BASIS,
32
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
33
+ * See the License for the specific language governing permissions and
34
+ * limitations under the License.
35
+ */
7
36
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../lib/main.js", "../lib/ndarray.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 isFunction = require( '@stdlib/assert-is-function' );\nvar isTypedArrayLike = require( '@stdlib/assert-is-typed-array-like' );\nvar resolve = require( '@stdlib/strided-base-dtype-resolve-enum' );\nvar reinterpretComplex64 = require( '@stdlib/strided-base-reinterpret-complex64' );\nvar reinterpretComplex128 = require( '@stdlib/strided-base-reinterpret-complex128' );\nvar format = require( '@stdlib/string-format' );\n\n\n// VARIABLES //\n\nvar COMPLEX64 = resolve( 'complex64' );\nvar COMPLEX128 = resolve( 'complex128' );\n\n\n// MAIN //\n\n/**\n* Returns a function which dispatches to a native add-on applying a nullary function.\n*\n* ## Notes\n*\n* - The returned function has the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type.\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n*\n* - The add-on function should have the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type (enumeration constant).\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n*\n* - The fallback function should have the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type.\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n*\n* @param {Function} addon - add-on interface\n* @param {Function} fallback - fallback function\n* @throws {TypeError} first argument must be a function\n* @throws {TypeError} second argument must be a function\n* @returns {Function} dispatch function\n*\n* @example\n* function addon( N, dtypeX, x, strideX ) {\n* // Call into native add-on...\n* }\n*\n* function fallback( N, dtypeX, x, strideX ) {\n* // Fallback JavaScript implementation...\n* }\n*\n* // Create a dispatch function:\n* var f = dispatch( addon, fallback );\n*\n* // ...\n*\n* // Invoke the dispatch function with strided array arguments:\n* f( 2, 'generic', [ 1, 2 ], 1 );\n*/\nfunction dispatch( addon, fallback ) {\n\tif ( !isFunction( addon ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a function. Value: `%s`.', addon ) );\n\t}\n\tif ( !isFunction( fallback ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a function. Value: `%s`.', fallback ) );\n\t}\n\treturn dispatcher;\n\n\t/**\n\t* Dispatches to a native add-on.\n\t*\n\t* @private\n\t* @param {integer} N - number of indexed elements\n\t* @param {*} dtypeX - `x` data type\n\t* @param {Collection} x - output array\n\t* @param {integer} strideX - `x` stride length\n\t* @throws {TypeError} unable to resolve a strided array function supporting the provided array argument data types\n\t* @returns {Collection} `x`\n\t*/\n\tfunction dispatcher( N, dtypeX, x, strideX ) {\n\t\tvar viewX;\n\n\t\t// WARNING: we assume that, if we're provided something resembling a typed array, we're provided a typed array; however, this can lead to potential unintended errors as the native add-on may not work with non-typed array objects (e.g., generic arrays)...\n\t\tif ( !isTypedArrayLike( x ) ) {\n\t\t\tfallback( N, dtypeX, x, strideX );\n\t\t\treturn x;\n\t\t}\n\t\tdtypeX = resolve( dtypeX );\n\t\tif ( dtypeX === null ) {\n\t\t\tthrow new TypeError( 'invalid arguments. Unable to resolve a strided array function supporting the provided array argument data types.' );\n\t\t}\n\t\tif ( dtypeX === COMPLEX64 ) {\n\t\t\tviewX = reinterpretComplex64( x, 0 );\n\t\t} else if ( dtypeX === COMPLEX128 ) {\n\t\t\tviewX = reinterpretComplex128( x, 0 );\n\t\t} else {\n\t\t\tviewX = x;\n\t\t}\n\t\taddon( N, dtypeX, viewX, strideX );\n\t\treturn x;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = dispatch;\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 isFunction = require( '@stdlib/assert-is-function' );\nvar isTypedArrayLike = require( '@stdlib/assert-is-typed-array-like' );\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar resolve = require( '@stdlib/strided-base-dtype-resolve-enum' );\nvar reinterpretComplex64 = require( '@stdlib/strided-base-reinterpret-complex64' );\nvar reinterpretComplex128 = require( '@stdlib/strided-base-reinterpret-complex128' );\nvar offsetView = require( '@stdlib/strided-base-offset-view' );\nvar minViewBufferIndex = require( '@stdlib/strided-base-min-view-buffer-index' );\nvar format = require( '@stdlib/string-format' );\n\n\n// VARIABLES //\n\nvar COMPLEX64 = resolve( 'complex64' );\nvar COMPLEX128 = resolve( 'complex128' );\n\n\n// MAIN //\n\n/**\n* Returns a function which dispatches to a native add-on applying a nullary function using alternative indexing semantics.\n*\n* ## Notes\n*\n* - The returned function has the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX, offsetX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type.\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n* - **offsetX**: starting `x` index.\n*\n* - The add-on function should have the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type (enumeration constant).\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n*\n* - The fallback function should have the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX, offsetX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type.\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n* - **offsetX**: starting `x` index.\n*\n* @param {Function} addon - add-on interface\n* @param {Function} fallback - fallback function\n* @throws {TypeError} first argument must be a function\n* @throws {TypeError} second argument must be a function\n* @returns {Function} dispatch function\n*\n* @example\n* function addon( N, dtypeX, x, strideX ) {\n* // Call into native add-on...\n* }\n*\n* function fallback( N, dtypeX, x, strideX, offsetX ) {\n* // Fallback JavaScript implementation...\n* }\n*\n* // Create a dispatch function:\n* var f = dispatch( addon, fallback );\n*\n* // ...\n*\n* // Invoke the dispatch function with strided array arguments:\n* f( 2, 'generic', [ 1, 2 ], 1, 0 );\n*/\nfunction dispatch( addon, fallback ) {\n\tif ( !isFunction( addon ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a function. Value: `%s`.', addon ) );\n\t}\n\tif ( !isFunction( fallback ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a function. Value: `%s`.', fallback ) );\n\t}\n\treturn dispatcher;\n\n\t/**\n\t* Dispatches to a native add-on.\n\t*\n\t* @private\n\t* @param {integer} N - number of indexed elements\n\t* @param {*} dtypeX - `x` data type\n\t* @param {Collection} x - output array\n\t* @param {integer} strideX - `x` stride length\n\t* @param {NonNegativeInteger} offsetX - starting `x` index\n\t* @throws {TypeError} fifth argument must be a nonnegative integer\n\t* @throws {TypeError} unable to resolve a strided array function supporting the provided array argument data types\n\t* @returns {Collection} `x`\n\t*/\n\tfunction dispatcher( N, dtypeX, x, strideX, offsetX ) {\n\t\tvar viewX;\n\n\t\t// WARNING: we assume that, if we're provided something resembling a typed array, we're provided a typed array; however, this can lead to potential unintended errors as the native add-on may not work with non-typed array objects (e.g., generic arrays)...\n\t\tif ( !isTypedArrayLike( x ) ) {\n\t\t\tfallback( N, dtypeX, x, strideX, offsetX );\n\t\t\treturn x;\n\t\t}\n\t\tdtypeX = resolve( dtypeX );\n\t\tif ( dtypeX === null ) {\n\t\t\tthrow new TypeError( 'invalid arguments. Unable to resolve a strided array function supporting the provided array argument data types.' );\n\t\t}\n\t\tif ( !isNonNegativeInteger( offsetX ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Output array offset must be a nonnegative integer. Value: `%s`.', offsetX ) );\n\t\t}\n\t\toffsetX = minViewBufferIndex( N, strideX, offsetX );\n\t\tif ( dtypeX === COMPLEX64 ) {\n\t\t\tviewX = reinterpretComplex64( x, offsetX );\n\t\t} else if ( dtypeX === COMPLEX128 ) {\n\t\t\tviewX = reinterpretComplex128( x, offsetX );\n\t\t} else {\n\t\t\tviewX = offsetView( x, offsetX );\n\t\t}\n\t\taddon( N, dtypeX, viewX, strideX );\n\t\treturn x;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = dispatch;\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* Dispatch to a native add-on applying a nullary function.\n*\n* @module @stdlib/strided-base-nullary-addon-dispatch\n*\n* @example\n* var dispatch = require( '@stdlib/strided-base-nullary-addon-dispatch' );\n*\n* function addon( N, dtypeX, x, strideX ) {\n* // Call into native add-on...\n* }\n*\n* function fallback( N, dtypeX, x, strideX ) {\n* // Fallback JavaScript implementation...\n* }\n*\n* // Create a dispatch function:\n* var f = dispatch( addon, fallback );\n*\n* // ...\n*\n* // Invoke the dispatch function with strided array arguments:\n* f( 2, 'generic', [ 1, 2 ], 1 );\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar ndarray = require( './ndarray.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'ndarray', ndarray );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n"],
5
- "mappings": "uGAAA,IAAAA,EAAAC,EAAA,SAAAC,EAAAC,EAAA,cAsBA,IAAIC,EAAa,QAAS,4BAA6B,EACnDC,EAAmB,QAAS,oCAAqC,EACjEC,EAAU,QAAS,yCAA0C,EAC7DC,EAAuB,QAAS,4CAA6C,EAC7EC,EAAwB,QAAS,6CAA8C,EAC/EC,EAAS,QAAS,uBAAwB,EAK1CC,EAAYJ,EAAS,WAAY,EACjCK,EAAaL,EAAS,YAAa,EAwEvC,SAASM,EAAUC,EAAOC,EAAW,CACpC,GAAK,CAACV,EAAYS,CAAM,EACvB,MAAM,IAAI,UAAWJ,EAAQ,oEAAqEI,CAAM,CAAE,EAE3G,GAAK,CAACT,EAAYU,CAAS,EAC1B,MAAM,IAAI,UAAWL,EAAQ,qEAAsEK,CAAS,CAAE,EAE/G,OAAOC,EAaP,SAASA,EAAYC,EAAGC,EAAQC,EAAGC,EAAU,CAC5C,IAAIC,EAGJ,GAAK,CAACf,EAAkBa,CAAE,EACzB,OAAAJ,EAAUE,EAAGC,EAAQC,EAAGC,CAAQ,EACzBD,EAGR,GADAD,EAASX,EAASW,CAAO,EACpBA,IAAW,KACf,MAAM,IAAI,UAAW,kHAAmH,EAEzI,OAAKA,IAAWP,EACfU,EAAQb,EAAsBW,EAAG,CAAE,EACxBD,IAAWN,EACtBS,EAAQZ,EAAuBU,EAAG,CAAE,EAEpCE,EAAQF,EAETL,EAAOG,EAAGC,EAAQG,EAAOD,CAAQ,EAC1BD,CACR,CACD,CAKAf,EAAO,QAAUS,ICxJjB,IAAAS,EAAAC,EAAA,SAAAC,EAAAC,EAAA,cAsBA,IAAIC,EAAa,QAAS,4BAA6B,EACnDC,EAAmB,QAAS,oCAAqC,EACjEC,EAAuB,QAAS,uCAAwC,EAAE,YAC1EC,EAAU,QAAS,yCAA0C,EAC7DC,EAAuB,QAAS,4CAA6C,EAC7EC,EAAwB,QAAS,6CAA8C,EAC/EC,EAAa,QAAS,kCAAmC,EACzDC,EAAqB,QAAS,4CAA6C,EAC3EC,EAAS,QAAS,uBAAwB,EAK1CC,EAAYN,EAAS,WAAY,EACjCO,EAAaP,EAAS,YAAa,EA0EvC,SAASQ,EAAUC,EAAOC,EAAW,CACpC,GAAK,CAACb,EAAYY,CAAM,EACvB,MAAM,IAAI,UAAWJ,EAAQ,oEAAqEI,CAAM,CAAE,EAE3G,GAAK,CAACZ,EAAYa,CAAS,EAC1B,MAAM,IAAI,UAAWL,EAAQ,qEAAsEK,CAAS,CAAE,EAE/G,OAAOC,EAeP,SAASA,EAAYC,EAAGC,EAAQC,EAAGC,EAASC,EAAU,CACrD,IAAIC,EAGJ,GAAK,CAACnB,EAAkBgB,CAAE,EACzB,OAAAJ,EAAUE,EAAGC,EAAQC,EAAGC,EAASC,CAAQ,EAClCF,EAGR,GADAD,EAASb,EAASa,CAAO,EACpBA,IAAW,KACf,MAAM,IAAI,UAAW,kHAAmH,EAEzI,GAAK,CAACd,EAAsBiB,CAAQ,EACnC,MAAM,IAAI,UAAWX,EAAQ,oFAAqFW,CAAQ,CAAE,EAE7H,OAAAA,EAAUZ,EAAoBQ,EAAGG,EAASC,CAAQ,EAC7CH,IAAWP,EACfW,EAAQhB,EAAsBa,EAAGE,CAAQ,EAC9BH,IAAWN,EACtBU,EAAQf,EAAuBY,EAAGE,CAAQ,EAE1CC,EAAQd,EAAYW,EAAGE,CAAQ,EAEhCP,EAAOG,EAAGC,EAAQI,EAAOF,CAAQ,EAC1BD,CACR,CACD,CAKAlB,EAAO,QAAUY,ICpHjB,IAAIU,EAAc,QAAS,uDAAwD,EAC/EC,EAAO,IACPC,EAAU,IAKdF,EAAaC,EAAM,UAAWC,CAAQ,EAKtC,OAAO,QAAUD",
6
- "names": ["require_main", "__commonJSMin", "exports", "module", "isFunction", "isTypedArrayLike", "resolve", "reinterpretComplex64", "reinterpretComplex128", "format", "COMPLEX64", "COMPLEX128", "dispatch", "addon", "fallback", "dispatcher", "N", "dtypeX", "x", "strideX", "viewX", "require_ndarray", "__commonJSMin", "exports", "module", "isFunction", "isTypedArrayLike", "isNonNegativeInteger", "resolve", "reinterpretComplex64", "reinterpretComplex128", "offsetView", "minViewBufferIndex", "format", "COMPLEX64", "COMPLEX128", "dispatch", "addon", "fallback", "dispatcher", "N", "dtypeX", "x", "strideX", "offsetX", "viewX", "setReadOnly", "main", "ndarray"]
4
+ "sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 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 isFunction = require( '@stdlib/assert-is-function' );\nvar isTypedArrayLike = require( '@stdlib/assert-is-typed-array-like' );\nvar resolve = require( '@stdlib/strided-base-dtype-resolve-enum' );\nvar reinterpretComplex64 = require( '@stdlib/strided-base-reinterpret-complex64' );\nvar reinterpretComplex128 = require( '@stdlib/strided-base-reinterpret-complex128' );\nvar reinterpretBoolean = require( '@stdlib/strided-base-reinterpret-boolean' );\nvar format = require( '@stdlib/string-format' );\n\n\n// VARIABLES //\n\nvar COMPLEX64 = resolve( 'complex64' );\nvar COMPLEX128 = resolve( 'complex128' );\nvar BOOLEAN = resolve( 'bool' );\n\n\n// MAIN //\n\n/**\n* Returns a function which dispatches to a native add-on applying a nullary function.\n*\n* ## Notes\n*\n* - The returned function has the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type.\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n*\n* - The add-on function should have the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type (enumeration constant).\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n*\n* - The fallback function should have the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type.\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n*\n* @param {Function} addon - add-on interface\n* @param {Function} fallback - fallback function\n* @throws {TypeError} first argument must be a function\n* @throws {TypeError} second argument must be a function\n* @returns {Function} dispatch function\n*\n* @example\n* function addon( N, dtypeX, x, strideX ) {\n* // Call into native add-on...\n* }\n*\n* function fallback( N, dtypeX, x, strideX ) {\n* // Fallback JavaScript implementation...\n* }\n*\n* // Create a dispatch function:\n* var f = dispatch( addon, fallback );\n*\n* // ...\n*\n* // Invoke the dispatch function with strided array arguments:\n* f( 2, 'generic', [ 1, 2 ], 1 );\n*/\nfunction dispatch( addon, fallback ) {\n\tif ( !isFunction( addon ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a function. Value: `%s`.', addon ) );\n\t}\n\tif ( !isFunction( fallback ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a function. Value: `%s`.', fallback ) );\n\t}\n\treturn dispatcher;\n\n\t/**\n\t* Dispatches to a native add-on.\n\t*\n\t* @private\n\t* @param {integer} N - number of indexed elements\n\t* @param {*} dtypeX - `x` data type\n\t* @param {Collection} x - output array\n\t* @param {integer} strideX - `x` stride length\n\t* @throws {TypeError} unable to resolve a strided array function supporting the provided array argument data types\n\t* @returns {Collection} `x`\n\t*/\n\tfunction dispatcher( N, dtypeX, x, strideX ) {\n\t\tvar viewX;\n\n\t\t// WARNING: we assume that, if we're provided something resembling a typed array, we're provided a typed array; however, this can lead to potential unintended errors as the native add-on may not work with non-typed array objects (e.g., generic arrays)...\n\t\tif ( !isTypedArrayLike( x ) ) {\n\t\t\tfallback( N, dtypeX, x, strideX );\n\t\t\treturn x;\n\t\t}\n\t\tdtypeX = resolve( dtypeX );\n\t\tif ( dtypeX === null ) {\n\t\t\tthrow new TypeError( 'invalid arguments. Unable to resolve a strided array function supporting the provided array argument data types.' );\n\t\t}\n\t\tif ( dtypeX === COMPLEX64 ) {\n\t\t\tviewX = reinterpretComplex64( x, 0 );\n\t\t} else if ( dtypeX === COMPLEX128 ) {\n\t\t\tviewX = reinterpretComplex128( x, 0 );\n\t\t} else if ( dtypeX === BOOLEAN ) {\n\t\t\tviewX = reinterpretBoolean( x, 0 );\n\t\t} else {\n\t\t\tviewX = x;\n\t\t}\n\t\taddon( N, dtypeX, viewX, strideX );\n\t\treturn x;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = dispatch;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 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 isFunction = require( '@stdlib/assert-is-function' );\nvar isTypedArrayLike = require( '@stdlib/assert-is-typed-array-like' );\nvar isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;\nvar resolve = require( '@stdlib/strided-base-dtype-resolve-enum' );\nvar reinterpretComplex64 = require( '@stdlib/strided-base-reinterpret-complex64' );\nvar reinterpretComplex128 = require( '@stdlib/strided-base-reinterpret-complex128' );\nvar reinterpretBoolean = require( '@stdlib/strided-base-reinterpret-boolean' );\nvar offsetView = require( '@stdlib/strided-base-offset-view' );\nvar minViewBufferIndex = require( '@stdlib/strided-base-min-view-buffer-index' );\nvar format = require( '@stdlib/string-format' );\n\n\n// VARIABLES //\n\nvar COMPLEX64 = resolve( 'complex64' );\nvar COMPLEX128 = resolve( 'complex128' );\nvar BOOLEAN = resolve( 'bool' );\n\n\n// MAIN //\n\n/**\n* Returns a function which dispatches to a native add-on applying a nullary function using alternative indexing semantics.\n*\n* ## Notes\n*\n* - The returned function has the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX, offsetX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type.\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n* - **offsetX**: starting `x` index.\n*\n* - The add-on function should have the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type (enumeration constant).\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n*\n* - The fallback function should have the following signature:\n*\n* ```text\n* f( N, dtypeX, x, strideX, offsetX )\n* ```\n*\n* where\n*\n* - **N**: number of indexed elements.\n* - **dtypeX**: `x` data type.\n* - **x**: output array.\n* - **strideX**: `x` stride length.\n* - **offsetX**: starting `x` index.\n*\n* @param {Function} addon - add-on interface\n* @param {Function} fallback - fallback function\n* @throws {TypeError} first argument must be a function\n* @throws {TypeError} second argument must be a function\n* @returns {Function} dispatch function\n*\n* @example\n* function addon( N, dtypeX, x, strideX ) {\n* // Call into native add-on...\n* }\n*\n* function fallback( N, dtypeX, x, strideX, offsetX ) {\n* // Fallback JavaScript implementation...\n* }\n*\n* // Create a dispatch function:\n* var f = dispatch( addon, fallback );\n*\n* // ...\n*\n* // Invoke the dispatch function with strided array arguments:\n* f( 2, 'generic', [ 1, 2 ], 1, 0 );\n*/\nfunction dispatch( addon, fallback ) {\n\tif ( !isFunction( addon ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a function. Value: `%s`.', addon ) );\n\t}\n\tif ( !isFunction( fallback ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a function. Value: `%s`.', fallback ) );\n\t}\n\treturn dispatcher;\n\n\t/**\n\t* Dispatches to a native add-on.\n\t*\n\t* @private\n\t* @param {integer} N - number of indexed elements\n\t* @param {*} dtypeX - `x` data type\n\t* @param {Collection} x - output array\n\t* @param {integer} strideX - `x` stride length\n\t* @param {NonNegativeInteger} offsetX - starting `x` index\n\t* @throws {TypeError} fifth argument must be a nonnegative integer\n\t* @throws {TypeError} unable to resolve a strided array function supporting the provided array argument data types\n\t* @returns {Collection} `x`\n\t*/\n\tfunction dispatcher( N, dtypeX, x, strideX, offsetX ) {\n\t\tvar viewX;\n\n\t\t// WARNING: we assume that, if we're provided something resembling a typed array, we're provided a typed array; however, this can lead to potential unintended errors as the native add-on may not work with non-typed array objects (e.g., generic arrays)...\n\t\tif ( !isTypedArrayLike( x ) ) {\n\t\t\tfallback( N, dtypeX, x, strideX, offsetX );\n\t\t\treturn x;\n\t\t}\n\t\tdtypeX = resolve( dtypeX );\n\t\tif ( dtypeX === null ) {\n\t\t\tthrow new TypeError( 'invalid arguments. Unable to resolve a strided array function supporting the provided array argument data types.' );\n\t\t}\n\t\tif ( !isNonNegativeInteger( offsetX ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Output array offset must be a nonnegative integer. Value: `%s`.', offsetX ) );\n\t\t}\n\t\toffsetX = minViewBufferIndex( N, strideX, offsetX );\n\t\tif ( dtypeX === COMPLEX64 ) {\n\t\t\tviewX = reinterpretComplex64( x, offsetX );\n\t\t} else if ( dtypeX === COMPLEX128 ) {\n\t\t\tviewX = reinterpretComplex128( x, offsetX );\n\t\t} else if ( dtypeX === BOOLEAN ) {\n\t\t\tviewX = reinterpretBoolean( x, offsetX );\n\t\t} else {\n\t\t\tviewX = offsetView( x, offsetX );\n\t\t}\n\t\taddon( N, dtypeX, viewX, strideX );\n\t\treturn x;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = dispatch;\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* Dispatch to a native add-on applying a nullary function.\n*\n* @module @stdlib/strided-base-nullary-addon-dispatch\n*\n* @example\n* var dispatch = require( '@stdlib/strided-base-nullary-addon-dispatch' );\n*\n* function addon( N, dtypeX, x, strideX ) {\n* // Call into native add-on...\n* }\n*\n* function fallback( N, dtypeX, x, strideX ) {\n* // Fallback JavaScript implementation...\n* }\n*\n* // Create a dispatch function:\n* var f = dispatch( addon, fallback );\n*\n* // ...\n*\n* // Invoke the dispatch function with strided array arguments:\n* f( 2, 'generic', [ 1, 2 ], 1 );\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar ndarray = require( './ndarray.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'ndarray', ndarray );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n"],
5
+ "mappings": "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",
6
+ "names": ["require_main", "__commonJSMin", "exports", "module", "isFunction", "isTypedArrayLike", "resolve", "reinterpretComplex64", "reinterpretComplex128", "reinterpretBoolean", "format", "COMPLEX64", "COMPLEX128", "BOOLEAN", "dispatch", "addon", "fallback", "dispatcher", "N", "dtypeX", "x", "strideX", "viewX", "require_ndarray", "__commonJSMin", "exports", "module", "isFunction", "isTypedArrayLike", "isNonNegativeInteger", "resolve", "reinterpretComplex64", "reinterpretComplex128", "reinterpretBoolean", "offsetView", "minViewBufferIndex", "format", "COMPLEX64", "COMPLEX128", "BOOLEAN", "dispatch", "addon", "fallback", "dispatcher", "N", "dtypeX", "x", "strideX", "offsetX", "viewX", "setReadOnly", "main", "ndarray"]
7
7
  }
package/lib/main.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license Apache-2.0
3
3
  *
4
- * Copyright (c) 2022 The Stdlib Authors.
4
+ * Copyright (c) 2024 The Stdlib Authors.
5
5
  *
6
6
  * Licensed under the Apache License, Version 2.0 (the "License");
7
7
  * you may not use this file except in compliance with the License.
@@ -25,6 +25,7 @@ var isTypedArrayLike = require( '@stdlib/assert-is-typed-array-like' );
25
25
  var resolve = require( '@stdlib/strided-base-dtype-resolve-enum' );
26
26
  var reinterpretComplex64 = require( '@stdlib/strided-base-reinterpret-complex64' );
27
27
  var reinterpretComplex128 = require( '@stdlib/strided-base-reinterpret-complex128' );
28
+ var reinterpretBoolean = require( '@stdlib/strided-base-reinterpret-boolean' );
28
29
  var format = require( '@stdlib/string-format' );
29
30
 
30
31
 
@@ -32,6 +33,7 @@ var format = require( '@stdlib/string-format' );
32
33
 
33
34
  var COMPLEX64 = resolve( 'complex64' );
34
35
  var COMPLEX128 = resolve( 'complex128' );
36
+ var BOOLEAN = resolve( 'bool' );
35
37
 
36
38
 
37
39
  // MAIN //
@@ -139,6 +141,8 @@ function dispatch( addon, fallback ) {
139
141
  viewX = reinterpretComplex64( x, 0 );
140
142
  } else if ( dtypeX === COMPLEX128 ) {
141
143
  viewX = reinterpretComplex128( x, 0 );
144
+ } else if ( dtypeX === BOOLEAN ) {
145
+ viewX = reinterpretBoolean( x, 0 );
142
146
  } else {
143
147
  viewX = x;
144
148
  }
package/lib/ndarray.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license Apache-2.0
3
3
  *
4
- * Copyright (c) 2022 The Stdlib Authors.
4
+ * Copyright (c) 2024 The Stdlib Authors.
5
5
  *
6
6
  * Licensed under the Apache License, Version 2.0 (the "License");
7
7
  * you may not use this file except in compliance with the License.
@@ -26,6 +26,7 @@ var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).is
26
26
  var resolve = require( '@stdlib/strided-base-dtype-resolve-enum' );
27
27
  var reinterpretComplex64 = require( '@stdlib/strided-base-reinterpret-complex64' );
28
28
  var reinterpretComplex128 = require( '@stdlib/strided-base-reinterpret-complex128' );
29
+ var reinterpretBoolean = require( '@stdlib/strided-base-reinterpret-boolean' );
29
30
  var offsetView = require( '@stdlib/strided-base-offset-view' );
30
31
  var minViewBufferIndex = require( '@stdlib/strided-base-min-view-buffer-index' );
31
32
  var format = require( '@stdlib/string-format' );
@@ -35,6 +36,7 @@ var format = require( '@stdlib/string-format' );
35
36
 
36
37
  var COMPLEX64 = resolve( 'complex64' );
37
38
  var COMPLEX128 = resolve( 'complex128' );
39
+ var BOOLEAN = resolve( 'bool' );
38
40
 
39
41
 
40
42
  // MAIN //
@@ -150,6 +152,8 @@ function dispatch( addon, fallback ) {
150
152
  viewX = reinterpretComplex64( x, offsetX );
151
153
  } else if ( dtypeX === COMPLEX128 ) {
152
154
  viewX = reinterpretComplex128( x, offsetX );
155
+ } else if ( dtypeX === BOOLEAN ) {
156
+ viewX = reinterpretBoolean( x, offsetX );
153
157
  } else {
154
158
  viewX = offsetView( x, offsetX );
155
159
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stdlib/strided-base-nullary-addon-dispatch",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
4
4
  "description": "Dispatch to a native add-on applying a nullary function.",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -30,16 +30,18 @@
30
30
  "url": "https://github.com/stdlib-js/stdlib/issues"
31
31
  },
32
32
  "dependencies": {
33
- "@stdlib/assert-is-function": "^0.2.1",
34
- "@stdlib/assert-is-nonnegative-integer": "^0.2.1",
35
- "@stdlib/assert-is-typed-array-like": "^0.2.1",
36
- "@stdlib/strided-base-dtype-resolve-enum": "^0.2.1",
37
- "@stdlib/strided-base-min-view-buffer-index": "^0.2.1",
38
- "@stdlib/strided-base-offset-view": "^0.2.1",
39
- "@stdlib/strided-base-reinterpret-complex128": "^0.2.1",
40
- "@stdlib/strided-base-reinterpret-complex64": "^0.2.0",
41
- "@stdlib/string-format": "^0.2.1",
42
- "@stdlib/utils-define-nonenumerable-read-only-property": "^0.2.1"
33
+ "@stdlib/assert-is-function": "^0.2.3",
34
+ "@stdlib/assert-is-nonnegative-integer": "^0.2.3",
35
+ "@stdlib/assert-is-typed-array-like": "^0.2.3",
36
+ "@stdlib/strided-base-dtype-resolve-enum": "^0.2.3",
37
+ "@stdlib/strided-base-min-view-buffer-index": "^0.3.1",
38
+ "@stdlib/strided-base-offset-view": "^0.2.3",
39
+ "@stdlib/strided-base-reinterpret-boolean": "^0.0.3",
40
+ "@stdlib/strided-base-reinterpret-complex128": "^0.2.3",
41
+ "@stdlib/strided-base-reinterpret-complex64": "^0.2.1",
42
+ "@stdlib/string-format": "^0.2.3",
43
+ "@stdlib/utils-define-nonenumerable-read-only-property": "^0.2.3",
44
+ "@stdlib/error-tools-fmtprodmsg": "^0.2.3"
43
45
  },
44
46
  "devDependencies": {},
45
47
  "engines": {
@@ -67,7 +69,6 @@
67
69
  "add-on",
68
70
  "native"
69
71
  ],
70
- "__stdlib__": {},
71
72
  "funding": {
72
73
  "type": "opencollective",
73
74
  "url": "https://opencollective.com/stdlib"