chore: propagate recent develop fixes to sibling packages (2026-07-10)#13410
Draft
Planeshifter wants to merge 6 commits into
Draft
chore: propagate recent develop fixes to sibling packages (2026-07-10)#13410Planeshifter wants to merge 6 commits into
develop fixes to sibling packages (2026-07-10)#13410Planeshifter wants to merge 6 commits into
Conversation
…/base/dists` Propagates fix from 2180fed ("docs: add link") to sibling distribution READMEs where the top-level blockquote referenced the "probability density function" (PDF) or "probability mass function" (PMF) in plain text while the file already defined a matching `[pdf]:` or `[pmf]:` link-reference.
Propagates fix from 3109ac2 ("test: fix require path") to sibling packages whose main-function test was requiring the top-level `./../lib` Routine wrapper instead of the specific implementation file.
…scription Propagates fix from 412de11 ("docs: fix descriptions") to the one `.ndarray` variant description in this package that still read "strided array elements" instead of "double-precision floating-point strided array elements", matching every other description in the same package.
Propagates fix from d32732a ("bench: fix assertion") to sibling niladic enum-listing benchmarks (`ndarray/orders`, `blas/base/layouts`, `array/byte-orders`) that asserted an exact `out.length !== 2` inside the benchmark loop with a "length 2" failure message. Replaced with a lower-bound check and an intent-describing message so future additions to the enum do not break the assertion.
…4 benchmarks Propagates fix from 945328a ("chore: clean-up") to sibling single-precision (`blas/base/s*`) and complex64 (`blas/ext/base/c*`) benchmarks whose `require('@stdlib/math/base/assert/is-nan')` was still checking Float32-typed values. Matches the convention applied by the source commit to `blas/base/{ccopy,cswap}` and `strided/base/{cmap,smap,mskunary,nullary,unary}`.
Propagates fix from 945328a ("chore: clean-up") to sibling `enum()`-mapping tests where the inner index expression `o[i]` was missing the style-guide-mandated spaces inside brackets.
Contributor
Coverage Report
The above coverage report was generated for the changes in this PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Propagating fixes merged to
developbetween 2026-07-09 14:56 PDT (669fa61) and 2026-07-10 02:46 PDT (ae1746f9) to sibling packages carrying the same defect.Pattern: bracketed
probability {density,mass} functionlink in distribution READMEsCommit
2180fedwrapped "probability density function" in[…][pdf]on the top-level blockquote ofstats/base/dists/cauchy/{pdf,logpdf}/README.md. The same defect is present in 28 sibling READMEs: the blockquote quotes the phrase as plain text while the file already defines the[pdf]:(or[pmf]:) link-reference at the bottom.2180fed(docs: add link)stats/base/dists/{beta,betaprime,erlang,exponential,gamma,invgamma,laplace,lognormal,normal,t}/{pdf,logpdf}stats/base/dists/{f,pareto-type1,rayleigh,truncated-normal,wald,weibull}/pdfstats/base/dists/binomial/{pmf,logpmf}Pattern: test require path in single-function test file
Commit
3109ac2corrected the require path inblas/ext/base/dfirst-index-equal/test/test.dfirst_index_equal.jsfrom the./../libRoutine wrapper to the specific./../lib/dfirst_index_equal.jsimplementation — thetest.<name>.jstest targets the main function, not the.ndarrayvariant, so it must bind the specific implementation. The two other newly addedblas/ext/basepackages with a matchingtest.<snake_case>.jsfile carry the same defect.3109ac2(test: fix require path)blas/ext/base/dfill-not-equalblas/ext/base/sfill-not-equalPattern:
.ndarraydescription missing precision qualifierCommit
412de11rewroteblas/ext/base/dfirst-index-equal's descriptions to specify "double-precision floating-point strided array" instead of the generic "strided array". Sibling packageblas/ext/base/dfill-not-equalhas this correction applied everywhere except the.ndarrayvariant description inREADME.md:83— every other description in that package (main-form README block, JSDoc inlib/**,docs/repl.txt,docs/types/index.d.ts, C header +src/main.c,package.json) already reads "double-precision floating-point strided array elements".412de11(docs: fix descriptions)blas/ext/base/dfill-not-equal(README.md.ndarraydescription only)Pattern: brittle exact-length assertion in niladic enum benchmarks
Commit
d32732areplacedif ( out.length !== 3 ) { b.fail( 'should return an array of length 3' ) }inndarray/index-modes/benchmark/benchmark.jswithif ( out.length < 2 ) { b.fail( 'should return an array of strings' ) }so the benchmark keeps passing when new index modes are added. Three sibling enum-listing benchmarks carry the same brittle exact-length pattern.d32732a(bench: fix assertion)ndarray/ordersblas/base/layoutsarray/byte-ordersPattern:
isnan→isnanfin single-precision and complex64 benchmarksCommit
945328aswappedisnanforisnanfin benchmarks operating on Float32 / Complex64 data acrossblas/base/{ccopy,cswap}andstrided/base/{cmap,smap,mskunary,nullary,unary}. Direct siblings inblas/base(s*single-precision routines) andblas/ext/base(c*complex64 routines) still bindisnanfrom@stdlib/math/base/assert/is-nandespite operating on Float32 values via'dtype': 'float32'random arrays orComplex64Arrayviews.945328a(chore: clean-up)blas/base/{sasum,saxpy,scopy,sdot,sdsdot,snrm2,sscal,sswap}(all 4 benchmark variants each)blas/base/scabs1(benchmark.js,benchmark.native.js)blas/ext/base/{cindex-of-column,clast-index-of-row}(all 4 benchmark variants each)Pattern: bracket spacing in
enum()-mapping test assertionsCommit
945328aalso fixedobj[ o[i] ]→obj[ o[ i ] ](missing spaces inside the inner index bracket, perdocs/style-guides/javascript) across eleven enum-mapping tests. Four siblingenum()-mapping test files still carry the same style violation.945328a(chore: clean-up)ndarray/input-casting-policies(2 occurrences)ndarray/output-dtype-policies(2 occurrences)ndarray/base/dtype-enums(1 occurrence)ndarray/index-modes(1 occurrence)Related Issues
No.
Questions
No.
Other
Validation
2180fed,stats/base/dists/*/{pdf,logpdf,pmf,logpmf}/README.md; for3109ac2,blas/ext/base/*/test/test.<snake_case>.jsfiles with a matching siblinglib/<snake_case>.js; for412de11, the newly addedblas/ext/base/{dfill-equal,dfill-not-equal,sfill-equal,sfill-not-equal,sfirst-index-equal}sibling packages, every description-carrying file (README, docs/repl.txt, docs/types/index.d.ts, include header,lib/**,src/main.c,package.json); ford32732a,**/benchmark/benchmark.jsfiles matching the niladic enum-listing + hardcoded-length-check idiom; for945328a(isnan→isnanf), allbenchmark/benchmark*.jsunderblas/base,blas/ext/base,strided/basebindingisnanand operating on Float32 or Complex64 data; for945328a(spacing), all**/test/test.jsmatching theenum()-mapping idiom (hasOwnProp( obj, o[ i ] )+isNonNegativeInteger( obj[ o[i] ] )).'should return an array of strings'), the propagation carries the same string.Deliberately excluded:
blas/ext/base/{sapx*,sdsapxsum*,sdssum*,sdsnansum*,ssum*,snansum*,ssumkbn*,ssumors*,ssumpw*,sxsy,snancount,sapxsumors,sapxsumpw,sapxsumkbn2}benchmarks matching theisnan→isnanfpattern. Same defect and same mechanical shape, but well outside the source commit's direct sibling scope (which was limited toblas/basecomplex64 andstrided/basebenchmarks); batching them into a separate propagation round keeps this PR's scope tight and makes the isnan-typing sweep easier to review as its own change. Logged for the next run.e7884bb7(docs: fix example— missing.ndarrayqualifier indfill-equal/docs/types/index.d.ts): repo-wide regex sweep (validated against the pre-fix commit) confirmed zero recurrences elsewhere inblas/ext/base.2ad0b70(docs: document empty-matrix return valueinlapack/base/iladlr/lib/iladlr.js): the only sibling ila-prefixed LAPACK routine,iladlc, already carries the same## Notesblock (added incidentally ina18ec63one day earlier). No otherila*routines exist inlapack/base.[…][pdf]/[…][pmf]link (46 files) — not the same defect.5488831(style: fix line wrapping,dfirst-index-equal/docs/repl.txt) andae1746f/442d4f0(docs: fix headingforsspr/dspr) source commits: neither pattern recurs at any sibling site. For the spr heading, the two sibling packed BLAS routines in-tree (sspmv/dspmv) already showorderin their.ndarrayheading; the non-packeds{yr,ymv,yr2}andd{syr,syr2}variants take strides (sa1,sa2) instead oforder, so the fix doesn't propagate to them.array/{full-like,empty-like,nans-like,zeros-like}docs (source669fa61, "docs: fix examples to use supported dtypes"):zeros-likeandnans-likealready scope theirdtypes(...)call correctly;full-likeandempty-likeskip dtype validation entirely and empirically iterate every dtype without error. No genuine bug propagation target.refactor: add support for enums(5c57284,c519b51) and everyfeat:commit in the window: not fix patterns.Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
This PR was authored by Claude Code on behalf of @Planeshifter as an automated propagation of fixes merged to
developover the prior 24 hours. Candidate source commits were filtered for generalizable patterns, sibling sites located via grep-able pattern signatures, and each proposed patch independently validated by parallel reviewer agents before commits were applied in the primary worktree. A maintainer should audit and promote out of draft.Generated by Claude Code