Skip to content

Commit 0e6f1ad

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into add-kernel-log1pf
2 parents 0f547a0 + 9d532b5 commit 0e6f1ad

File tree

288 files changed

+14679
-1012
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

288 files changed

+14679
-1012
lines changed

.github/workflows/lint_random_files.yml

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,12 @@ jobs:
294294
295295
# Lint JavaScript files:
296296
- name: 'Lint JavaScript files'
297+
id: lint-javascript
297298
if: ( github.event.inputs.javascript != 'false' ) && ( success() || failure() )
298299
run: |
300+
# If any command in a pipeline fails, the entire pipeline should fail:
301+
set -o pipefail
302+
299303
# Determine root directory:
300304
root=$(git rev-parse --show-toplevel)
301305
@@ -315,45 +319,81 @@ jobs:
315319
FIX=0
316320
fi
317321
322+
# Combined error file:
323+
ERR_FILE="lint_javascript_errors.txt"
324+
> "$ERR_FILE" # Initialize a clean file
325+
318326
# Lint JavaScript source files:
319327
files=$(echo "${{ steps.random-files.outputs.files }}" | tr ',' '\n' | grep '\.js$' | grep -v -e '/examples' -e '/test' -e '/benchmark' -e '^dist/' | tr '\n' ' ')
320328
321329
# Build native addons if present:
322330
packages=$(echo "${files}" | tr ' ' '\n' | sed 's/^lib\/node_modules\///g' | sed 's/\/lib\/.*//g' | sort | uniq)
323331
for pkg in ${packages}; do
324-
if [ -f "lib/node_modules/${pkg}/binding.gyp" ]; then
325-
NODE_ADDONS_PATTERN="${pkg}" make install-node-addons
326-
fi
332+
if [ -f "lib/node_modules/${pkg}/binding.gyp" ]; then
333+
NODE_ADDONS_PATTERN="${pkg}" make install-node-addons
334+
fi
327335
done
328336
329337
if [[ -n "${files}" ]]; then
330-
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${files}"
338+
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${files}" 2>&1 | tee -a "$ERR_FILE"
331339
fi
332340
333341
# Lint JavaScript command-line interfaces...
334342
file=$(echo "${{ steps.random-files.outputs.files }}" | tr ',' '\n' | grep '\.js$' | grep -E '/bin/cli$' | tr '\n' ' ')
335343
if [[ -n "${file}" ]]; then
336-
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${file}"
344+
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${file}" 2>&1 | tee -a "$ERR_FILE"
337345
fi
338346
339347
# Lint JavaScript example files:
340348
files=$(echo "${{ steps.random-files.outputs.files }}" | tr ',' '\n' | grep '/examples/.*\.js$' | tr '\n' ' ')
341349
if [[ -n "${files}" ]]; then
342-
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${files}" ESLINT_CONF="${eslint_examples_conf}"
350+
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${files}" ESLINT_CONF="${eslint_examples_conf}" 2>&1 | tee -a "$ERR_FILE"
343351
fi
344352
345353
# Lint JavaScript test files:
346354
files=$(echo "${{ steps.random-files.outputs.files }}" | tr ',' '\n' | grep '/test/.*\.js$' | tr '\n' ' ')
347355
if [[ -n "${files}" ]]; then
348-
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${files}" ESLINT_CONF="${eslint_tests_conf}"
356+
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${files}" ESLINT_CONF="${eslint_tests_conf}" 2>&1 | tee -a "$ERR_FILE"
349357
fi
350358
351359
# Lint JavaScript benchmark files:
352360
files=$(echo "${{ steps.random-files.outputs.files }}" | tr ',' '\n' | grep '/benchmark/.*\.js$' | tr '\n' ' ')
353361
if [[ -n "${files}" ]]; then
354-
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${files}" ESLINT_CONF="${eslint_benchmarks_conf}"
362+
make lint-javascript-files FIX="${FIX}" FAST_FAIL=0 FILES="${files}" ESLINT_CONF="${eslint_benchmarks_conf}" 2>&1 | tee -a "$ERR_FILE"
355363
fi
356364
365+
# Create sub-issue for JavaScript lint failures:
366+
- name: 'Create sub-issue for JavaScript lint failures'
367+
if: failure() && contains(steps.lint-javascript.outcome, 'failure')
368+
env:
369+
GITHUB_TOKEN: ${{ secrets.STDLIB_BOT_PAT_REPO_WRITE }}
370+
run: |
371+
BODY_FILE="$GITHUB_WORKSPACE/lint_issue_body.md"
372+
cat << EOF > "$BODY_FILE"
373+
## JavaScript Linting Failures
374+
375+
Linting failures were detected in the automated JavaScript lint workflow run.
376+
377+
### Workflow Details
378+
379+
- Run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
380+
- Type: JavaScript Linting
381+
- Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
382+
383+
### Error Details
384+
\`\`\`
385+
$(cat lint_javascript_errors.txt)
386+
\`\`\`
387+
EOF
388+
389+
. "$GITHUB_WORKSPACE/.github/workflows/scripts/create_sub_issue" \
390+
'Fix JavaScript lint errors' \
391+
"$BODY_FILE" \
392+
"5377" \
393+
"Good First Issue"
394+
395+
rm "$BODY_FILE"
396+
357397
# Lint Python files:
358398
- name: 'Lint Python files'
359399
if: ( github.event.inputs.python != 'false' ) && ( success() || failure() )

.mailmap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ Naresh Jagadeesan <[email protected]> <[email protected].
123123

124124
Naveen Kumar <[email protected]> naveen
125125

126+
127+
Neeraj Pathak <[email protected]> Neerajpathak07
128+
126129
Nishant Shinde <[email protected]> nishant-s7
127130

128131
Nithin Katta <[email protected]> KATTA NAGA NITHIN

CONTRIBUTORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ Yaswanth Kosuru <[email protected]>
135135
Yernar Yergaziyev <[email protected]>
136136
Yuvi Mittal <[email protected]>
137137
ekambains <[email protected]>
138+
fadiothman22 <[email protected]>
138139
olenkabilonizhka <[email protected]>
139140
pranav-1720 <[email protected]>
140141

docs/contributing/moving_packages.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,8 @@ Ref: https://github.com/stdlib-js/stdlib/issues/4797
177177

178178
### 6. Remove the export of the original package from its parent namespace
179179

180+
#### a. Namespace exports
181+
180182
Next, open the `lib/index.js` file found in the parent namespace of the original package (e.g., `lib/node_modules/@stdlib/stats/base/lib/index.js`).
181183

182184
If that file includes an exported symbol from the original package, remove it. For example,
@@ -193,6 +195,47 @@ If that file includes an exported symbol from the original package, remove it. F
193195
- setReadOnly( ns, 'dmax', require( '@stdlib/stats/base/dmax' ) );
194196
```
195197

198+
#### b. Namespace TypeScript declarations
199+
200+
Next, open the `docs/types/index.d.ts` file found in the parent namespace of the original package (e.g., `lib/node_modules/@stdlib/stats/base/docs/types/index.d.ts`).
201+
202+
If that file includes an exported symbol from the original package, remove it. For example,
203+
204+
```diff
205+
- import dmax = require( '@stdlib/stats/base/dmax' );
206+
```
207+
208+
and
209+
210+
```diff
211+
-
212+
- /**
213+
- * Computes the maximum value of a double-precision floating-point strided array.
214+
- *
215+
- * @param N - number of indexed elements
216+
- * @param x - input array
217+
- * @param strideX - stride length
218+
- * @returns maximum value
219+
- *
220+
- * @example
221+
- * var Float64Array = require( '@stdlib/array/float64' );
222+
- *
223+
- * var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
224+
- *
225+
- * var v = ns.dmax( x.length, x, 1 );
226+
- * // returns 2.0
227+
- *
228+
- * @example
229+
- * var Float64Array = require( '@stdlib/array/float64' );
230+
- *
231+
- * var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
232+
- *
233+
- * var v = ns.dmax.ndarray( x.length, x, 1, 0 );
234+
- * // returns 2.0
235+
- */
236+
- dmax: typeof dmax;
237+
```
238+
196239
### 7. Commit the changes to the parent namespace
197240

198241
If you removed an exported symbol from the parent namespace, commit those changes, making note that this is a breaking change.

lib/node_modules/@stdlib/blas/base/docs/types/index.d.ts

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2400,39 +2400,19 @@ interface Namespace {
24002400
*
24012401
* @example
24022402
* var Complex128Array = require( '@stdlib/array/complex128' );
2403-
* var real = require( '@stdlib/complex/float64/real' );
2404-
* var imag = require( '@stdlib/complex/float64/imag' );
24052403
*
24062404
* var zx = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
24072405
*
24082406
* ns.zdscal( 3, 2.0, zx, 1 );
2409-
*
2410-
* var z = zx.get( 1 );
2411-
* // returns <Complex128>
2412-
*
2413-
* var re = real( z );
2414-
* // returns 6.0
2415-
*
2416-
* var im = imag( z );
2417-
* // returns 8.0
2407+
* // zx => <Complex128Array>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
24182408
*
24192409
* @example
24202410
* var Complex128Array = require( '@stdlib/array/complex128' );
2421-
* var real = require( '@stdlib/complex/float64/real' );
2422-
* var imag = require( '@stdlib/complex/float64/imag' );
24232411
*
24242412
* var zx = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
24252413
*
24262414
* ns.zdscal.ndarray( 2, 2.0, zx, 1, 1 );
2427-
*
2428-
* var z = zx.get( 1 );
2429-
* // returns <Complex128>
2430-
*
2431-
* var re = real( z );
2432-
* // returns 10.0
2433-
*
2434-
* var im = imag( z );
2435-
* // returns 12.0
2415+
* // zx => <Complex128Array>[ 1.0, 2.0, 6.0, 8.0, 10.0, 12.0 ]
24362416
*/
24372417
zdscal: typeof zdscal;
24382418

lib/node_modules/@stdlib/blas/base/wasm/ccopy/README.md

Lines changed: 5 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -36,24 +36,14 @@ Copies values from `x` into `y`.
3636

3737
```javascript
3838
var Complex64Array = require( '@stdlib/array/complex64' );
39-
var realf = require( '@stdlib/complex/float32/real' );
40-
var imagf = require( '@stdlib/complex/float32/imag' );
4139

4240
// Define strided arrays...
4341
var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
4442
var y = new Complex64Array( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );
4543

4644
// Perform operation:
4745
ccopy.main( x.length, x, 1, y, 1 );
48-
49-
var v = y.get( 0 );
50-
// returns <Complex64>
51-
52-
var re = realf( v );
53-
// returns 1.0
54-
55-
var im = imagf( v );
56-
// returns 2.0
46+
// y => <Complex64Array>[ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ]
5747
```
5848

5949
The function has the following parameters:
@@ -68,22 +58,12 @@ The `N` and stride parameters determine how values from `x` are copied into `y`.
6858

6959
```javascript
7060
var Complex64Array = require( '@stdlib/array/complex64' );
71-
var realf = require( '@stdlib/complex/float32/real' );
72-
var imagf = require( '@stdlib/complex/float32/imag' );
7361

7462
var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
7563
var y = new Complex64Array( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );
7664

7765
ccopy.main( 2, x, -2, y, 1 );
78-
79-
var v = y.get( 0 );
80-
// returns <Complex64>
81-
82-
var re = realf( v );
83-
// returns 5.0
84-
85-
var im = imagf( v );
86-
// returns 6.0
66+
// y => <Complex64Array>[ 5.0, 6.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0 ]
8767
```
8868

8969
Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.
@@ -92,8 +72,6 @@ Note that indexing is relative to the first index. To introduce an offset, use [
9272

9373
```javascript
9474
var Complex64Array = require( '@stdlib/array/complex64' );
95-
var realf = require( '@stdlib/complex/float32/real' );
96-
var imagf = require( '@stdlib/complex/float32/imag' );
9775

9876
// Initial arrays...
9977
var x0 = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
@@ -105,15 +83,7 @@ var y1 = new Complex64Array( y0.buffer, y0.BYTES_PER_ELEMENT*2 ); // start at 3r
10583

10684
// Copy every other value from `x1` into `y1` in reverse order...
10785
ccopy.main( 2, x1, -2, y1, 1 );
108-
109-
var z = y0.get( 2 );
110-
// returns <Complex64>
111-
112-
var re = realf( z );
113-
// returns 7.0
114-
115-
var im = imagf( z );
116-
// returns 8.0
86+
// y0 => <Complex64Array>[ 0.0, 0.0, 0.0, 0.0, 7.0, 8.0, 3.0, 4.0 ]
11787
```
11888

11989
#### ccopy.ndarray( N, x, strideX, offsetX, y, strideY, offsetY )
@@ -122,22 +92,12 @@ Copies values from `x` into `y` using alternative indexing semantics.
12292

12393
```javascript
12494
var Complex64Array = require( '@stdlib/array/complex64' );
125-
var realf = require( '@stdlib/complex/float32/real' );
126-
var imagf = require( '@stdlib/complex/float32/imag' );
12795

12896
var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
12997
var y = new Complex64Array( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );
13098

13199
ccopy.ndarray( x.length, x, 1, 0, y, 1, 0 );
132-
133-
var v = y.get( 0 );
134-
// returns <Complex64>
135-
136-
var re = realf( v );
137-
// returns 1.0
138-
139-
var im = imagf( v );
140-
// returns 2.0
100+
// y => <Complex64Array>[ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ]
141101
```
142102

143103
The function has the following additional parameters:
@@ -149,22 +109,12 @@ While [`typed array`][mdn-typed-array] views mandate a view offset based on the
149109

150110
```javascript
151111
var Complex64Array = require( '@stdlib/array/complex64' );
152-
var realf = require( '@stdlib/complex/float32/real' );
153-
var imagf = require( '@stdlib/complex/float32/imag' );
154112

155113
var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
156114
var y = new Complex64Array( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );
157115

158116
ccopy.ndarray( 2, x, 2, 1, y, -1, y.length-1 );
159-
160-
var z = y.get( y.length-1 );
161-
// returns <Complex64>
162-
163-
var re = realf( z );
164-
// returns 3.0
165-
166-
var im = imagf( z );
167-
// returns 4.0
117+
// y => <Complex64Array>[ 0.0, 0.0, 0.0, 0.0, 7.0, 8.0, 3.0, 4.0 ]
168118
```
169119

170120
* * *

0 commit comments

Comments
 (0)