Skip to content

Commit c5aacaa

Browse files
committed
Auto-generated commit
1 parent 335e79d commit c5aacaa

21 files changed

Lines changed: 860 additions & 287 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44

55
<section class="release" id="unreleased">
66

7-
## Unreleased (2026-08-17)
7+
## Unreleased (2026-08-18)
88

99
<section class="features">
1010

1111
### Features
1212

13+
- [`fb041a6`](https://github.com/stdlib-js/stdlib/commit/fb041a68a9bcc18b7078e26ea11118d5459c2b3c) - add `ndarray/base/kernels/generic/unary-strided1d/strategy`
1314
- [`0f459b6`](https://github.com/stdlib-js/stdlib/commit/0f459b6e5188aee3701259e63d793bef371ab41c) - add `ndarray/base/kernels/generic/unary-strided1d/blocked`
1415
- [`0a69d61`](https://github.com/stdlib-js/stdlib/commit/0a69d61b9e81475ea3d73179b78b35859a29a148) - add `ndarray/base/kernels/utils/increment-offsets`
1516
- [`c80658c`](https://github.com/stdlib-js/stdlib/commit/c80658c5375d12779a4ea876d58db0a11abf01da) - add `setDescriptorOffsets` to namespace
@@ -83,6 +84,12 @@ A total of 2 issues were closed in this release:
8384

8485
<details>
8586

87+
- [`eb27106`](https://github.com/stdlib-js/stdlib/commit/eb271061b568c3f49f2f9b05e41786e3fa20063f) - **docs:** update description _(by Athan Reines)_
88+
- [`648628d`](https://github.com/stdlib-js/stdlib/commit/648628d7d9d28a3ef21c0dbbfda123b4c440eb50) - **docs:** update descriptions _(by Athan Reines)_
89+
- [`86774c6`](https://github.com/stdlib-js/stdlib/commit/86774c66302ff35ffec5222e60ac6f6606f261a8) - **docs:** update descriptions _(by Athan Reines)_
90+
- [`600c7a9`](https://github.com/stdlib-js/stdlib/commit/600c7a9e0f1864f33e9c645a434664513fc2e8b1) - **docs:** update types _(by Athan Reines)_
91+
- [`315c552`](https://github.com/stdlib-js/stdlib/commit/315c55284242de757dcb04684708f808cadcbb03) - **docs:** update examples _(by Athan Reines)_
92+
- [`fb041a6`](https://github.com/stdlib-js/stdlib/commit/fb041a68a9bcc18b7078e26ea11118d5459c2b3c) - **feat:** add `ndarray/base/kernels/generic/unary-strided1d/strategy` _(by Athan Reines)_
8693
- [`6ba7e59`](https://github.com/stdlib-js/stdlib/commit/6ba7e5910d85debbb0dd39ea8cfdaf8c458ffe4d) - **fix:** address off-by-one bug [(#14352)](https://github.com/stdlib-js/stdlib/pull/14352) _(by Philipp Burckhardt)_
8794
- [`0f459b6`](https://github.com/stdlib-js/stdlib/commit/0f459b6e5188aee3701259e63d793bef371ab41c) - **feat:** add `ndarray/base/kernels/generic/unary-strided1d/blocked` _(by Athan Reines)_
8895
- [`0a69d61`](https://github.com/stdlib-js/stdlib/commit/0a69d61b9e81475ea3d73179b78b35859a29a148) - **feat:** add `ndarray/base/kernels/utils/increment-offsets` _(by Athan Reines)_

base/kernels/generic/unary-strided1d/blocked/README.md

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ var f = resolveKernel( 1 );
215215
var Float64Array = require( '@stdlib/array/float64' );
216216
var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
217217
var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );
218+
var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
218219
var resolveKernel = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/blocked' );
219220
220221
// Create data buffers:
@@ -291,33 +292,15 @@ var views = [
291292
}
292293
];
293294
294-
// Define an input strategy:
295-
function inputStrategy( x ) {
296-
return {
297-
'dtype': x.dtype,
298-
'data': x.data,
299-
'shape': [ 4 ],
300-
'strides': [ 1 ],
301-
'offset': x.offset,
302-
'order': x.order
303-
};
304-
}
305-
306-
// Define an output strategy:
307-
function outputStrategy( x ) {
308-
return x;
309-
}
310-
311-
var strategy = {
312-
'input': inputStrategy,
313-
'output': outputStrategy
314-
};
295+
// Resolve input/output strategies when iterating over sub-array views:
296+
var strategyX = strategy( views[ 0 ] );
297+
var strategyY = strategy( views[ 1 ] );
315298
316299
// Resolve a kernel:
317300
var kernel = resolveKernel( 5 );
318301
319302
// Apply strided function:
320-
kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 4 ], strategy, strategy, {} );
303+
kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 4 ], strategyX, strategyY, {} );
321304
322305
console.log( ndarray2array( x.data, x.shape, x.strides, x.offset, x.order ) );
323306
console.log( ndarray2array( y.data, y.shape, y.strides, y.offset, y.order ) );

base/kernels/generic/unary-strided1d/blocked/examples/index.js

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
var Float64Array = require( '@stdlib/array/float64' );
2424
var ndarray2array = require( './../../../../../../base/to-array' );
2525
var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );
26+
var strategy = require( './../../../../../../base/kernels/generic/unary-strided1d/strategy' );
2627
var resolveKernel = require( './../lib' );
2728

2829
// Create data buffers:
@@ -99,33 +100,15 @@ var views = [
99100
}
100101
];
101102

102-
// Define an input strategy:
103-
function inputStrategy( x ) {
104-
return {
105-
'dtype': x.dtype,
106-
'data': x.data,
107-
'shape': [ 4 ],
108-
'strides': [ 1 ],
109-
'offset': x.offset,
110-
'order': x.order
111-
};
112-
}
113-
114-
// Define an output strategy:
115-
function outputStrategy( x ) {
116-
return x;
117-
}
118-
119-
var strategy = {
120-
'input': inputStrategy,
121-
'output': outputStrategy
122-
};
103+
// Resolve input/output strategies when iterating over sub-array views:
104+
var strategyX = strategy( views[ 0 ] );
105+
var strategyY = strategy( views[ 1 ] );
123106

124107
// Resolve a kernel:
125108
var kernel = resolveKernel( 5 );
126109

127110
// Apply strided function:
128-
kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 4 ], strategy, strategy, {} );
111+
kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 4 ], strategyX, strategyY, {} );
129112

130113
console.log( ndarray2array( x.data, x.shape, x.strides, x.offset, x.order ) );
131114
console.log( ndarray2array( y.data, y.shape, y.strides, y.offset, y.order ) );

base/kernels/generic/unary-strided1d/blocked/lib/10d.js

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ var offsets = require( './../../../../../../base/offsets' );
5353
* var Float64Array = require( '@stdlib/array/float64' );
5454
* var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
5555
* var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );
56+
* var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
5657
*
5758
* // Create data buffers:
5859
* var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
@@ -128,30 +129,12 @@ var offsets = require( './../../../../../../base/offsets' );
128129
* }
129130
* ];
130131
*
131-
* // Define an input strategy:
132-
* function inputStrategy( x ) {
133-
* return {
134-
* 'dtype': x.dtype,
135-
* 'data': x.data,
136-
* 'shape': [ 4 ],
137-
* 'strides': [ 1 ],
138-
* 'offset': x.offset,
139-
* 'order': x.order
140-
* };
141-
* }
142-
*
143-
* // Define an output strategy:
144-
* function outputStrategy( x ) {
145-
* return x;
146-
* }
147-
*
148-
* var strategy = {
149-
* 'input': inputStrategy,
150-
* 'output': outputStrategy
151-
* };
132+
* // Define input/output strategies for iterating over sub-array views:
133+
* var strategyX = strategy( views[ 0 ] );
134+
* var strategyY = strategy( views[ 1 ] );
152135
*
153136
* // Apply strided function:
154-
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 12, 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 12, 12, 12, 12, 12, 4 ], strategy, strategy, {} );
137+
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 12, 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 12, 12, 12, 12, 12, 4 ], strategyX, strategyY, {} );
155138
*
156139
* var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
157140
* // returns [ [ [ [ [ [ [ [ [ [ [ [ 1.0, 3.0 ], [ 6.0, 10.0 ] ], [ [ 5.0, 11.0 ], [ 18.0, 26.0 ] ], [ [ 9.0, 19.0 ], [ 30.0, 42.0 ] ] ] ] ] ] ] ] ] ] ] ]

base/kernels/generic/unary-strided1d/blocked/lib/2d.js

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ var offsets = require( './../../../../../../base/offsets' );
5151
* var Float64Array = require( '@stdlib/array/float64' );
5252
* var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
5353
* var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );
54+
* var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
5455
*
5556
* // Create data buffers:
5657
* var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
@@ -126,30 +127,12 @@ var offsets = require( './../../../../../../base/offsets' );
126127
* }
127128
* ];
128129
*
129-
* // Define an input strategy:
130-
* function inputStrategy( x ) {
131-
* return {
132-
* 'dtype': x.dtype,
133-
* 'data': x.data,
134-
* 'shape': [ 4 ],
135-
* 'strides': [ 1 ],
136-
* 'offset': x.offset,
137-
* 'order': x.order
138-
* };
139-
* }
140-
*
141-
* // Define an output strategy:
142-
* function outputStrategy( x ) {
143-
* return x;
144-
* }
145-
*
146-
* var strategy = {
147-
* 'input': inputStrategy,
148-
* 'output': outputStrategy
149-
* };
130+
* // Define input/output strategies for iterating over sub-array views:
131+
* var strategyX = strategy( views[ 0 ] );
132+
* var strategyY = strategy( views[ 1 ] );
150133
*
151134
* // Apply strided function:
152-
* kernel( gcusum, [ x, y, initial ], views, [ 1, 3 ], [ 12, 4 ], [ 12, 4 ], strategy, strategy, {} );
135+
* kernel( gcusum, [ x, y, initial ], views, [ 1, 3 ], [ 12, 4 ], [ 12, 4 ], strategyX, strategyY, {} );
153136
*
154137
* var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
155138
* // returns [ [ [ [ 1.0, 3.0 ], [ 6.0, 10.0 ] ], [ [ 5.0, 11.0 ], [ 18.0, 26.0 ] ], [ [ 9.0, 19.0 ], [ 30.0, 42.0 ] ] ] ]

base/kernels/generic/unary-strided1d/blocked/lib/3d.js

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ var offsets = require( './../../../../../../base/offsets' );
5353
* var Float64Array = require( '@stdlib/array/float64' );
5454
* var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
5555
* var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );
56+
* var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
5657
*
5758
* // Create data buffers:
5859
* var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
@@ -128,30 +129,12 @@ var offsets = require( './../../../../../../base/offsets' );
128129
* }
129130
* ];
130131
*
131-
* // Define an input strategy:
132-
* function inputStrategy( x ) {
133-
* return {
134-
* 'dtype': x.dtype,
135-
* 'data': x.data,
136-
* 'shape': [ 4 ],
137-
* 'strides': [ 1 ],
138-
* 'offset': x.offset,
139-
* 'order': x.order
140-
* };
141-
* }
142-
*
143-
* // Define an output strategy:
144-
* function outputStrategy( x ) {
145-
* return x;
146-
* }
147-
*
148-
* var strategy = {
149-
* 'input': inputStrategy,
150-
* 'output': outputStrategy
151-
* };
132+
* // Define input/output strategies for iterating over sub-array views:
133+
* var strategyX = strategy( views[ 0 ] );
134+
* var strategyY = strategy( views[ 1 ] );
152135
*
153136
* // Apply strided function:
154-
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 3 ], [ 12, 12, 4 ], [ 12, 12, 4 ], strategy, strategy, {} );
137+
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 3 ], [ 12, 12, 4 ], [ 12, 12, 4 ], strategyX, strategyY, {} );
155138
*
156139
* var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
157140
* // returns [ [ [ [ [ 1.0, 3.0 ], [ 6.0, 10.0 ] ], [ [ 5.0, 11.0 ], [ 18.0, 26.0 ] ], [ [ 9.0, 19.0 ], [ 30.0, 42.0 ] ] ] ] ]

base/kernels/generic/unary-strided1d/blocked/lib/4d.js

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ var offsets = require( './../../../../../../base/offsets' );
5353
* var Float64Array = require( '@stdlib/array/float64' );
5454
* var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
5555
* var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );
56+
* var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
5657
*
5758
* // Create data buffers:
5859
* var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
@@ -128,30 +129,12 @@ var offsets = require( './../../../../../../base/offsets' );
128129
* }
129130
* ];
130131
*
131-
* // Define an input strategy:
132-
* function inputStrategy( x ) {
133-
* return {
134-
* 'dtype': x.dtype,
135-
* 'data': x.data,
136-
* 'shape': [ 4 ],
137-
* 'strides': [ 1 ],
138-
* 'offset': x.offset,
139-
* 'order': x.order
140-
* };
141-
* }
142-
*
143-
* // Define an output strategy:
144-
* function outputStrategy( x ) {
145-
* return x;
146-
* }
147-
*
148-
* var strategy = {
149-
* 'input': inputStrategy,
150-
* 'output': outputStrategy
151-
* };
132+
* // Define input/output strategies for iterating over sub-array views:
133+
* var strategyX = strategy( views[ 0 ] );
134+
* var strategyY = strategy( views[ 1 ] );
152135
*
153136
* // Apply strided function:
154-
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 3 ], [ 12, 12, 12, 4 ], [ 12, 12, 12, 4 ], strategy, strategy, {} );
137+
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 3 ], [ 12, 12, 12, 4 ], [ 12, 12, 12, 4 ], strategyX, strategyY, {} );
155138
*
156139
* var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
157140
* // returns [ [ [ [ [ [ 1.0, 3.0 ], [ 6.0, 10.0 ] ], [ [ 5.0, 11.0 ], [ 18.0, 26.0 ] ], [ [ 9.0, 19.0 ], [ 30.0, 42.0 ] ] ] ] ] ]

base/kernels/generic/unary-strided1d/blocked/lib/5d.js

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ var offsets = require( './../../../../../../base/offsets' );
5353
* var Float64Array = require( '@stdlib/array/float64' );
5454
* var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
5555
* var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );
56+
* var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
5657
*
5758
* // Create data buffers:
5859
* var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
@@ -128,30 +129,12 @@ var offsets = require( './../../../../../../base/offsets' );
128129
* }
129130
* ];
130131
*
131-
* // Define an input strategy:
132-
* function inputStrategy( x ) {
133-
* return {
134-
* 'dtype': x.dtype,
135-
* 'data': x.data,
136-
* 'shape': [ 4 ],
137-
* 'strides': [ 1 ],
138-
* 'offset': x.offset,
139-
* 'order': x.order
140-
* };
141-
* }
142-
*
143-
* // Define an output strategy:
144-
* function outputStrategy( x ) {
145-
* return x;
146-
* }
147-
*
148-
* var strategy = {
149-
* 'input': inputStrategy,
150-
* 'output': outputStrategy
151-
* };
132+
* // Define input/output strategies for iterating over sub-array views:
133+
* var strategyX = strategy( views[ 0 ] );
134+
* var strategyY = strategy( views[ 1 ] );
152135
*
153136
* // Apply strided function:
154-
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 4 ], strategy, strategy, {} );
137+
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 4 ], strategyX, strategyY, {} );
155138
*
156139
* var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
157140
* // returns [ [ [ [ [ [ [ 1.0, 3.0 ], [ 6.0, 10.0 ] ], [ [ 5.0, 11.0 ], [ 18.0, 26.0 ] ], [ [ 9.0, 19.0 ], [ 30.0, 42.0 ] ] ] ] ] ] ]

base/kernels/generic/unary-strided1d/blocked/lib/6d.js

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ var offsets = require( './../../../../../../base/offsets' );
5353
* var Float64Array = require( '@stdlib/array/float64' );
5454
* var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
5555
* var gcusum = require( '@stdlib/blas/ext/base/ndarray/gcusum' );
56+
* var strategy = require( '@stdlib/ndarray/base/kernels/generic/unary-strided1d/strategy' );
5657
*
5758
* // Create data buffers:
5859
* var xbuf = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
@@ -128,30 +129,12 @@ var offsets = require( './../../../../../../base/offsets' );
128129
* }
129130
* ];
130131
*
131-
* // Define an input strategy:
132-
* function inputStrategy( x ) {
133-
* return {
134-
* 'dtype': x.dtype,
135-
* 'data': x.data,
136-
* 'shape': [ 4 ],
137-
* 'strides': [ 1 ],
138-
* 'offset': x.offset,
139-
* 'order': x.order
140-
* };
141-
* }
142-
*
143-
* // Define an output strategy:
144-
* function outputStrategy( x ) {
145-
* return x;
146-
* }
147-
*
148-
* var strategy = {
149-
* 'input': inputStrategy,
150-
* 'output': outputStrategy
151-
* };
132+
* // Define input/output strategies for iterating over sub-array views:
133+
* var strategyX = strategy( views[ 0 ] );
134+
* var strategyY = strategy( views[ 1 ] );
152135
*
153136
* // Apply strided function:
154-
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 12, 4 ], strategy, strategy, {} );
137+
* kernel( gcusum, [ x, y, initial ], views, [ 1, 1, 1, 1, 1, 3 ], [ 12, 12, 12, 12, 12, 4 ], [ 12, 12, 12, 12, 12, 4 ], strategyX, strategyY, {} );
155138
*
156139
* var arr = ndarray2array( y.data, y.shape, y.strides, y.offset, y.order );
157140
* // returns [ [ [ [ [ [ [ [ 1.0, 3.0 ], [ 6.0, 10.0 ] ], [ [ 5.0, 11.0 ], [ 18.0, 26.0 ] ], [ [ 9.0, 19.0 ], [ 30.0, 42.0 ] ] ] ] ] ] ] ]

0 commit comments

Comments
 (0)