Skip to content

chore: clean-up#13390

Merged
kgryte merged 2 commits into
developfrom
philipp/fix-propagation-2026-07-09
Jul 9, 2026
Merged

chore: clean-up#13390
kgryte merged 2 commits into
developfrom
philipp/fix-propagation-2026-07-09

Conversation

@Planeshifter

Copy link
Copy Markdown
Member

Description

Propagating fixes merged to develop between 2026-07-08 13:12 UTC and 2026-07-09 13:12 UTC to sibling packages that exhibit the same defect.

chore: bracket spacing

Propagates the fix from 9757a36a (chore: clean-up), applying obj[ o[i] ]obj[ o[ i ] ] in enum-key tape test loops to restore stdlib's inner-spacing convention on every [ ... ] accessor. Same one-line pattern, mechanically applied across the remaining packages that missed the original clean-up.

  • @stdlib/blas/base/diagonal-types
  • @stdlib/blas/base/layouts
  • @stdlib/blas/base/matrix-orientations
  • @stdlib/blas/base/matrix-triangles
  • @stdlib/blas/base/operation-sides
  • @stdlib/blas/base/transpose-operations
  • @stdlib/ml/base/kmeans/algorithms
  • @stdlib/ml/base/sgd-classification/learning-rates
  • @stdlib/ndarray/casting-modes
  • @stdlib/ndarray/orders
  • @stdlib/stats/base/ztest/alternatives

bench: isnanf on single-precision benchmarks

Propagates the fix from 49456e6b ("bench: use isnanf in strided/napi/smap"): benchmarks operating on Float32Array/Complex64Array data must check for NaN with is-nanf (single-precision), not is-nan (double-precision). Each file gets the require path, local variable name, and every call site renamed from isnan/is-nan to isnanf/is-nanf; 18 benchmark files across 7 packages.

  • @stdlib/blas/base/ccopy — 4 benchmark files
  • @stdlib/blas/base/cswap — 4 benchmark files
  • @stdlib/strided/base/cmap — 2 benchmark files
  • @stdlib/strided/base/mskunary — 2 accessor benchmark files
  • @stdlib/strided/base/nullary — 2 accessor benchmark files
  • @stdlib/strided/base/smap — 2 benchmark files
  • @stdlib/strided/base/unary — 2 accessor benchmark files

Related Issues

None.

Questions

None.

Other

Validation

Candidate sites were located by pattern search scoped to lib/node_modules/@stdlib/ (bracket spacing: literal grep for obj[ o[i] ]; isnanf: benchmarks requiring is-nan while operating on Float32Array or Complex64Array). Every surviving site was independently verified by two validators reading each file in full; the isnanf candidate list dropped from 32 → 18 after that pass.

Sites deliberately excluded from the isnanf propagation:

  • blas/ext/base/cindex-of-column and blas/ext/base/clast-index-of-rowisnan argument is the integer index return value, not an f32 element access. Rejected by both validators.
  • blas/gdot/benchmark.float32.js, blas/gswap/benchmark.float32.js, and stats/base/sdsnanmean (four files) — argument is a scalar return from a routine whose accumulator is double-precision. Both validators marked these as needs-human / rejected; propagation would not match the source pattern verbatim.

The source commits f449b5c1 (docs: update related packages sections) and 262f2dc2 (docs: update namespace table of contents) are bot-generated and were skipped: they are not fix patterns. 7eb19700 (fix: rename enum) was skipped because the sole sibling (ml/base/sgd-classification/learning-rates) already conforms to the new enum-naming convention. 2fc0cf41 (docs: fix example in utils/push) is confined to a single private helper's docstring; no sibling packages exhibit the defect.

Checklist

AI Assistance

  • Yes
  • No

If you answered "yes" above, how did you use AI assistance?

  • Code generation (e.g., when writing an implementation or fixing a bug)
  • Test/benchmark generation
  • Documentation (including examples)
  • Research and understanding

Disclosure

This PR was authored by an automated propagation routine driven by Claude Code (Anthropic). Source commits were categorised, propagation targets were located by ripgrep, and each target was independently verified by two model validators reading each file in full before any patch was applied. All propagations are mechanical (verbatim substitutions matching the source commit's fix). No new tests or benchmarks were authored; only the specified rename/spacing changes were applied.


@stdlib-js/reviewers


Generated by Claude Code

claude added 2 commits July 9, 2026 13:23
Propagates fix from 9757a36 ("chore: clean-up") to sibling packages
whose `enum` tape tests iterate the enum-key array `o` and look up
`obj[ o[i] ]` — stdlib requires spaces inside every `[ ... ]`
accessor, including the inner `[ i ]`. Applies verbatim across eleven
sibling packages under `blas/base/*`, `ndarray/*`, `ml/base/*`, and
`stats/base/ztest/alternatives`.
Propagates fix from 49456e6 ("bench: use `isnanf` in
`strided/napi/smap`") to sibling benchmark files that operate on
Float32Array or Complex64Array data. Renames the local require from
`@stdlib/math/base/assert/is-nan` to
`@stdlib/math/base/assert/is-nanf` and updates the corresponding
call sites so single-precision NaN checks are used throughout the
affected benchmarks.
@stdlib-bot

Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
blas/base/ccopy $\\color{green}394/394$
$\\color{green}+100.00\\%$
$\\color{green}17/17$
$\\color{green}+100.00\\%$
$\\color{green}4/4$
$\\color{green}+100.00\\%$
$\\color{green}394/394$
$\\color{green}+100.00\\%$
blas/base/cswap $\\color{green}407/407$
$\\color{green}+100.00\\%$
$\\color{green}17/17$
$\\color{green}+100.00\\%$
$\\color{green}4/4$
$\\color{green}+100.00\\%$
$\\color{green}407/407$
$\\color{green}+100.00\\%$
blas/base/diagonal-types $\\color{green}142/142$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}142/142$
$\\color{green}+100.00\\%$
blas/base/layouts $\\color{green}142/142$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}142/142$
$\\color{green}+100.00\\%$
blas/base/matrix-orientations $\\color{green}142/142$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}142/142$
$\\color{green}+100.00\\%$
blas/base/matrix-triangles $\\color{green}142/142$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}142/142$
$\\color{green}+100.00\\%$
blas/base/operation-sides $\\color{green}142/142$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}142/142$
$\\color{green}+100.00\\%$
blas/base/transpose-operations $\\color{green}145/145$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}145/145$
$\\color{green}+100.00\\%$
ml/base/kmeans/algorithms $\\color{green}142/142$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}142/142$
$\\color{green}+100.00\\%$
ml/base/sgd-classification/learning-rates $\\color{green}148/148$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}148/148$
$\\color{green}+100.00\\%$
ndarray/casting-modes $\\color{green}143/143$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}143/143$
$\\color{green}+100.00\\%$
ndarray/orders $\\color{green}152/152$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}152/152$
$\\color{green}+100.00\\%$
stats/base/ztest/alternatives $\\color{green}145/145$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}145/145$
$\\color{green}+100.00\\%$
strided/base/cmap $\\color{green}218/218$
$\\color{green}+100.00\\%$
$\\color{green}9/9$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}218/218$
$\\color{green}+100.00\\%$
strided/base/mskunary $\\color{green}646/646$
$\\color{green}+100.00\\%$
$\\color{green}40/40$
$\\color{green}+100.00\\%$
$\\color{green}6/6$
$\\color{green}+100.00\\%$
$\\color{green}646/646$
$\\color{green}+100.00\\%$
strided/base/nullary $\\color{green}524/524$
$\\color{green}+100.00\\%$
$\\color{red}25/27$
$\\color{green}+92.59\\%$
$\\color{green}6/6$
$\\color{green}+100.00\\%$
$\\color{green}524/524$
$\\color{green}+100.00\\%$
strided/base/smap $\\color{green}206/206$
$\\color{green}+100.00\\%$
$\\color{green}9/9$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}206/206$
$\\color{green}+100.00\\%$
strided/base/unary $\\color{green}588/588$
$\\color{green}+100.00\\%$
$\\color{green}32/32$
$\\color{green}+100.00\\%$
$\\color{green}6/6$
$\\color{green}+100.00\\%$
$\\color{green}588/588$
$\\color{green}+100.00\\%$

The above coverage report was generated for the changes in this PR.

@kgryte kgryte marked this pull request as ready for review July 9, 2026 20:11
@kgryte kgryte requested a review from a team July 9, 2026 20:11
@stdlib-bot stdlib-bot added the Needs Review A pull request which needs code review. label Jul 9, 2026
@kgryte kgryte changed the title chore: propagate bracket-spacing and isnanf fixes across sibling packages chore: clean-up Jul 9, 2026
@kgryte kgryte merged commit 945328a into develop Jul 9, 2026
37 checks passed
@kgryte kgryte deleted the philipp/fix-propagation-2026-07-09 branch July 9, 2026 20:11
@kgryte kgryte removed the Needs Review A pull request which needs code review. label Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants