diff --git a/.github/.keepalive b/.github/.keepalive
deleted file mode 100644
index 73fc1a7..0000000
--- a/.github/.keepalive
+++ /dev/null
@@ -1 +0,0 @@
-2023-08-01T05:07:53.864Z
diff --git a/.github/workflows/productionize.yml b/.github/workflows/productionize.yml
index 334eb59..91f2b93 100644
--- a/.github/workflows/productionize.yml
+++ b/.github/workflows/productionize.yml
@@ -82,21 +82,6 @@ jobs:
id: transform-error-messages
uses: stdlib-js/transform-errors-action@main
- # Format error messages:
- - name: 'Replace double quotes with single quotes in rewritten format string error messages'
- run: |
- find . -name "*.js" -exec sed -E -i "s/Error\( format\( \"([a-zA-Z0-9]+)\"/Error\( format\( '\1'/g" {} \;
-
- # Format string literal error messages:
- - name: 'Replace double quotes with single quotes in rewritten string literal error messages'
- run: |
- find . -name "*.js" -exec sed -E -i "s/Error\( format\(\"([a-zA-Z0-9]+)\"\)/Error\( format\( '\1' \)/g" {} \;
-
- # Format code:
- - name: 'Replace double quotes with single quotes in inserted `require` calls'
- run: |
- find . -name "*.js" -exec sed -E -i "s/require\( ?\"@stdlib\/error-tools-fmtprodmsg\" ?\);/require\( '@stdlib\/error-tools-fmtprodmsg' \);/g" {} \;
-
# Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency:
- name: 'Update dependencies in package.json'
run: |
diff --git a/dist/index.d.ts b/dist/index.d.ts
new file mode 100644
index 0000000..2915a2c
--- /dev/null
+++ b/dist/index.d.ts
@@ -0,0 +1,3 @@
+///
+import drev from '../docs/types/index';
+export = drev;
\ No newline at end of file
diff --git a/dist/index.js b/dist/index.js
new file mode 100644
index 0000000..e1c24ad
--- /dev/null
+++ b/dist/index.js
@@ -0,0 +1,9 @@
+"use strict";var p=function(u,r){return function(){return r||u((r={exports:{}}).exports,r),r.exports}};var y=p(function(F,c){
+var O=require('@stdlib/math-base-special-floor/dist'),m=3;function b(u,r,i){var n,a,e,v,f,o;if(u<=0)return r;if(f=O(u/2),i===1){if(v=f%m,e=u-1,v>0)for(a=0;a0)for(t=0;t [ -3.0, -1.0, 0.0, 4.0, -5.0, 3.0, 1.0, -2.0 ]\n*/\nfunction drev( N, x, stride ) {\n\tvar tmp;\n\tvar ix;\n\tvar iy;\n\tvar m;\n\tvar n;\n\tvar i;\n\n\tif ( N <= 0 ) {\n\t\treturn x;\n\t}\n\tn = floor( N/2 );\n\n\t// Use loop unrolling if the stride is equal to `1`...\n\tif ( stride === 1 ) {\n\t\tm = n % M;\n\t\tiy = N - 1;\n\n\t\t// If we have a remainder, run a clean-up loop...\n\t\tif ( m > 0 ) {\n\t\t\tfor ( ix = 0; ix < m; ix++ ) {\n\t\t\t\ttmp = x[ ix ];\n\t\t\t\tx[ ix ] = x[ iy ];\n\t\t\t\tx[ iy ] = tmp;\n\t\t\t\tiy -= 1;\n\t\t\t}\n\t\t}\n\t\tif ( n < M ) {\n\t\t\treturn x;\n\t\t}\n\t\tfor ( ix = m; ix < n; ix += M ) {\n\t\t\ttmp = x[ ix ];\n\t\t\tx[ ix ] = x[ iy ];\n\t\t\tx[ iy ] = tmp;\n\n\t\t\ttmp = x[ ix+1 ];\n\t\t\tx[ ix+1 ] = x[ iy-1 ];\n\t\t\tx[ iy-1 ] = tmp;\n\n\t\t\ttmp = x[ ix+2 ];\n\t\t\tx[ ix+2 ] = x[ iy-2 ];\n\t\t\tx[ iy-2 ] = tmp;\n\n\t\t\tiy -= M;\n\t\t}\n\t\treturn x;\n\t}\n\tif ( stride < 0 ) {\n\t\tix = (1-N) * stride;\n\t} else {\n\t\tix = 0;\n\t}\n\tiy = ix + ((N-1)*stride);\n\tfor ( i = 0; i < n; i++ ) {\n\t\ttmp = x[ ix ];\n\t\tx[ ix ] = x[ iy ];\n\t\tx[ iy ] = tmp;\n\t\tix += stride;\n\t\tiy -= stride;\n\t}\n\treturn x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = drev;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 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 floor = require( '@stdlib/math-base-special-floor' );\n\n\n// VARIABLES //\n\nvar M = 3;\n\n\n// MAIN //\n\n/**\n* Reverses a double-precision floating-point strided array in-place.\n*\n* @param {PositiveInteger} N - number of indexed elements\n* @param {Float64Array} x - input array\n* @param {integer} stride - index increment\n* @param {NonNegativeInteger} offset - starting index\n* @returns {Float64Array} input array\n*\n* @example\n* var Float64Array = require( '@stdlib/array-float64' );\n*\n* var x = new Float64Array( [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ] );\n*\n* drev( 3, x, 1, x.length-3 );\n* // x => [ 1.0, -2.0, 3.0, -6.0, 5.0, -4.0 ]\n*/\nfunction drev( N, x, stride, offset ) {\n\tvar tmp;\n\tvar ix;\n\tvar iy;\n\tvar m;\n\tvar n;\n\tvar i;\n\n\tif ( N <= 0 ) {\n\t\treturn x;\n\t}\n\tn = floor( N/2 );\n\tix = offset;\n\n\t// Use loop unrolling if the stride is equal to `1`...\n\tif ( stride === 1 ) {\n\t\tm = n % M;\n\t\tiy = ix + N - 1;\n\n\t\t// If we have a remainder, run a clean-up loop...\n\t\tif ( m > 0 ) {\n\t\t\tfor ( i = 0; i < m; i++ ) {\n\t\t\t\ttmp = x[ ix ];\n\t\t\t\tx[ ix ] = x[ iy ];\n\t\t\t\tx[ iy ] = tmp;\n\t\t\t\tix += stride;\n\t\t\t\tiy -= stride;\n\t\t\t}\n\t\t}\n\t\tif ( n < M ) {\n\t\t\treturn x;\n\t\t}\n\t\tfor ( i = m; i < n; i += M ) {\n\t\t\ttmp = x[ ix ];\n\t\t\tx[ ix ] = x[ iy ];\n\t\t\tx[ iy ] = tmp;\n\n\t\t\ttmp = x[ ix+1 ];\n\t\t\tx[ ix+1 ] = x[ iy-1 ];\n\t\t\tx[ iy-1 ] = tmp;\n\n\t\t\ttmp = x[ ix+2 ];\n\t\t\tx[ ix+2 ] = x[ iy-2 ];\n\t\t\tx[ iy-2 ] = tmp;\n\n\t\t\tix += M;\n\t\t\tiy -= M;\n\t\t}\n\t\treturn x;\n\t}\n\tiy = ix + ((N-1)*stride);\n\tfor ( i = 0; i < n; i++ ) {\n\t\ttmp = x[ ix ];\n\t\tx[ ix ] = x[ iy ];\n\t\tx[ iy ] = tmp;\n\t\tix += stride;\n\t\tiy -= stride;\n\t}\n\treturn x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = drev;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 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 setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar drev = require( './drev.js' );\nvar ndarray = require( './ndarray.js' );\n\n\n// MAIN //\n\nsetReadOnly( drev, 'ndarray', ndarray );\n\n\n// EXPORTS //\n\nmodule.exports = drev;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 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* Reverse a double-precision floating-point strided array in-place.\n*\n* @module @stdlib/blas-ext-base-drev\n*\n* @example\n* var Float64Array = require( '@stdlib/array-float64' );\n* var drev = require( '@stdlib/blas-ext-base-drev' );\n*\n* var x = new Float64Array( [ -2.0, 1.0, 3.0, -5.0, 4.0, 0.0, -1.0, -3.0 ] );\n*\n* drev( x.length, x, 1 );\n* // x => [ -3.0, -1.0, 0.0, 4.0, -5.0, 3.0, 1.0, -2.0 ]\n*\n* @example\n* var Float64Array = require( '@stdlib/array-float64' );\n* var drev = require( '@stdlib/blas-ext-base-drev' );\n*\n* var x = new Float64Array( [ -2.0, 1.0, 3.0, -5.0, 4.0, 0.0, -1.0, -3.0 ] );\n*\n* drev( x.length, x, 1, 0 );\n* // x => [ -3.0, -1.0, 0.0, 4.0, -5.0, 3.0, 1.0, -2.0 ]\n*/\n\n// MODULES //\n\nvar join = require( 'path' ).join;\nvar tryRequire = require( '@stdlib/utils-try-require' );\nvar isError = require( '@stdlib/assert-is-error' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar drev;\nvar tmp = tryRequire( join( __dirname, './native.js' ) );\nif ( isError( tmp ) ) {\n\tdrev = main;\n} else {\n\tdrev = tmp;\n}\n\n\n// EXPORTS //\n\nmodule.exports = drev;\n\n// exports: { \"ndarray\": \"drev.ndarray\" }\n"],
+ "mappings": "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",
+ "names": ["require_drev", "__commonJSMin", "exports", "module", "floor", "M", "drev", "N", "x", "stride", "tmp", "ix", "iy", "m", "n", "i", "require_ndarray", "__commonJSMin", "exports", "module", "floor", "M", "drev", "N", "x", "stride", "offset", "tmp", "ix", "iy", "m", "n", "i", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "drev", "ndarray", "join", "tryRequire", "isError", "main", "drev", "tmp"]
+}
diff --git a/docs/types/index.d.ts b/docs/types/index.d.ts
index 3e26138..844aaeb 100644
--- a/docs/types/index.d.ts
+++ b/docs/types/index.d.ts
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-// TypeScript Version: 2.0
+// TypeScript Version: 4.1
/**
* Interface describing `drev`.