Skip to content

chore: clean-up - #14413

Merged
kgryte merged 5 commits into
developfrom
philipp/fix-propagation-2026-08-19
Aug 20, 2026
Merged

chore: clean-up#14413
kgryte merged 5 commits into
developfrom
philipp/fix-propagation-2026-08-19

Conversation

@Planeshifter

@Planeshifter Planeshifter commented Aug 19, 2026

Copy link
Copy Markdown
Member

Description

What is the purpose of this pull request?

Propagating fixes merged to develop between 2026-08-18 17:33 (−07:00) and 2026-08-19 05:08 (−07:00) (fd16a2f49…dd78acd51) to sibling packages.

This pull request:

82ee27d — benchmark arrays without NaN values

Fixes benchmark/benchmark.js in ten masked reduction packages, mirroring the same migration already applied to dnanmskmax in #14402: input arrays are generated via fillBy( zeros( [ len ], options ), rand ) with NaN injected at a 0.2 rate through bernoulli, rather than drawing exclusively from a NaN-free distribution. Without NaN values present, benchmarks for NaN-aware masked reductions never exercise the NaN-handling branch, so timings do not reflect real-world usage. Mask generation is unchanged and continues to use the template's mrand helper.

  • stats/base/ndarray/nanmskmax
  • stats/base/ndarray/nanmskmidrange
  • stats/base/ndarray/nanmskmin
  • stats/base/ndarray/nanmskrange
  • stats/base/ndarray/snanmskmax
  • stats/base/ndarray/snanmskmaxabs
  • stats/base/ndarray/snanmskmidrange
  • stats/base/ndarray/snanmskmin
  • stats/base/ndarray/snanmskminabs
  • stats/base/ndarray/snanmskrange

746050a — unused <time.h> include in C examples

746050a dropped the unused #include <time.h> from the wald C examples, which call rand() but never touch time(), srand(), or clock(). A repo-wide search surfaced two sites still carrying the same dead include; this PR removes it there, matching the corresponding README examples, which never had it.

  • stats/base/dists/normal/cdf
  • stats/base/dists/normal/logpdf

72b23ea — unhyphenated floating point compound modifiers

Fixes remaining unhyphenated "floating point" occurrences left after 72b23ea, applying the same "floating-point" convention to test descriptions and README prose that PR did not touch. Excludes dataset corpus files and further sites noted below.

  • math/base/special/rempio2
  • math/base/special/rempio2f
  • math/base/special (namespace README)

Related Issues

Does this pull request have any related issues?

No.

Questions

Any questions for reviewers of this pull request?

No.

Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

Validation. Candidate sites were enumerated via structural search signatures scoped to the source patterns' namespaces (stats/base/ndarray/*nan* benchmarks; repo-wide #include <time.h> without time()/srand()/clock() usage; repo-wide floating point <noun>). Every site was independently confirmed by two validation passes reading each file in full, an adaptation pass producing per-site patches (verified byte-identical to the reviewed dnanmskmax template modulo package name, dtype, and pre-existing per-file conventions), and a style-consistency pass against docs/style-guides. Deliberately excluded: string/format README example input/output literals, dataset corpus files under datasets/spam-assassin, sibling repl.txt/JSDoc wording sites from dcb03da (semantics differ per site), and the empty notes-section/[mgf]-link additions from 4df94c4 (template-conformance enhancements, not defects).

Post-push drops (CI-driven). Two sets of hyphenation edits were initially included and then reverted:

  • string/format/README.md (e69dd2a1f): touching the file triggers doctest runs which fail on pre-existing displayed-return-value mismatches in that README (blocks at lines 93–125, 162–178, and 213–230), unrelated to this propagation. Those doctest failures exist on develop and should be addressed separately.
  • math/base/special/{cbrt,log1p,kernel-log1p,kernel-log1pf} lib/main.js/src/main.c comments (1c0fe9ce8): the affected-tests CI job computes the dependent set of every changed package, and cbrt (77 dependents) plus log1p (49 dependents) push the batched make test-javascript-files-min invocation past ARG_MAX, failing with "Argument list too long" before any test runs. The xargs batching in .github/workflows/scripts/run_affected_tests/run does not protect against expansion inside the make recipe — likely worth a separate CI fix, after which the eight one-line comment edits can be propagated.

One commit per source fix pattern; each commit body cites the source SHA.

Checklist

Please ensure the following tasks are completed before submitting this pull request.

AI Assistance

When authoring the changes proposed in this PR, did you use any kind of 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 draft PR was produced by an automated Claude Code fix-propagation routine: it identified generalizable fixes merged to develop in the last 24 hours, located sibling packages with the same defects, and applied the equivalent fixes after multi-pass validation. All changes should be reviewed by a maintainer before promotion from draft.


@stdlib-js/reviewers

claude added 4 commits August 19, 2026 13:24
Propagates fix from 82ee27d ("bench: generate arrays with `NaN`
values") to the remaining masked sibling packages whose benchmarks
generate input arrays which never contain `NaN` values, meaning the
`NaN` code path of the benchmarked NaN-ignoring reductions is never
exercised.

Affected packages:

-   stats/base/ndarray/nanmskmax
-   stats/base/ndarray/nanmskmidrange
-   stats/base/ndarray/nanmskmin
-   stats/base/ndarray/nanmskrange
-   stats/base/ndarray/snanmskmax
-   stats/base/ndarray/snanmskmaxabs
-   stats/base/ndarray/snanmskmidrange
-   stats/base/ndarray/snanmskmin
-   stats/base/ndarray/snanmskminabs
-   stats/base/ndarray/snanmskrange
Propagates fix from 746050a ("chore: remove unused header") to sibling
packages whose C examples include `<time.h>` without using any of its
declarations.

Affected packages:

-   stats/base/dists/normal/cdf
-   stats/base/dists/normal/logpdf
Propagates fix from 72b23ea ("chore: clean-up") to remaining files
using "floating point" as an unhyphenated compound modifier, which is
contrary to project convention.

Affected packages:

-   math/base/special (namespace README)
-   math/base/special/cbrt
-   math/base/special/kernel-log1p
-   math/base/special/kernel-log1pf
-   math/base/special/log1p
-   math/base/special/rempio2
-   math/base/special/rempio2f
-   string/format

The occurrences in `string/format` example input/output literals are
deliberately left unchanged.
Touching `string/format/README.md` triggers doctest runs in CI which
fail on pre-existing displayed-return-value mismatches unrelated to
this propagation. The single prose edit is dropped to keep the pull
request self-contained; the pre-existing doctest failures should be
addressed separately.
@stdlib-bot

stdlib-bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
math/base/special $\\color{red}67101/82882$
$\\color{green}+0.00\\%$
$\\color{red}1071/1117$
$\\color{green}+0.00\\%$
$\\color{red}12/800$
$\\color{green}+0.00\\%$
$\\color{red}67101/82882$
$\\color{green}+0.00\\%$
math/base/special/rempio2 $\\color{red}893/907$
$\\color{green}+0.00\\%$
$\\color{red}83/88$
$\\color{green}+0.00\\%$
$\\color{green}5/5$
$\\color{green}+0.00\\%$
$\\color{red}893/907$
$\\color{green}+0.00\\%$
math/base/special/rempio2f $\\color{red}632/645$
$\\color{green}+0.00\\%$
$\\color{red}45/50$
$\\color{green}+0.00\\%$
$\\color{green}4/4$
$\\color{green}+0.00\\%$
$\\color{red}632/645$
$\\color{green}+0.00\\%$
stats/base/dists/normal/cdf $\\color{green}299/299$
$\\color{green}+0.00\\%$
$\\color{green}25/25$
$\\color{green}+0.00\\%$
$\\color{green}4/4$
$\\color{green}+0.00\\%$
$\\color{green}299/299$
$\\color{green}+0.00\\%$
stats/base/dists/normal/logpdf $\\color{green}312/312$
$\\color{green}+0.00\\%$
$\\color{green}23/23$
$\\color{green}+0.00\\%$
$\\color{green}4/4$
$\\color{green}+0.00\\%$
$\\color{green}312/312$
$\\color{green}+0.00\\%$
stats/base/ndarray/nanmskmax $\\color{green}107/107$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}107/107$
$\\color{green}+0.00\\%$
stats/base/ndarray/nanmskmidrange $\\color{green}107/107$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}107/107$
$\\color{green}+0.00\\%$
stats/base/ndarray/nanmskmin $\\color{green}107/107$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}107/107$
$\\color{green}+0.00\\%$
stats/base/ndarray/nanmskrange $\\color{green}107/107$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}107/107$
$\\color{green}+0.00\\%$
stats/base/ndarray/snanmskmax $\\color{green}109/109$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}109/109$
$\\color{green}+0.00\\%$
stats/base/ndarray/snanmskmaxabs $\\color{green}109/109$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}109/109$
$\\color{green}+0.00\\%$
stats/base/ndarray/snanmskmidrange $\\color{green}109/109$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}109/109$
$\\color{green}+0.00\\%$
stats/base/ndarray/snanmskmin $\\color{green}109/109$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}109/109$
$\\color{green}+0.00\\%$
stats/base/ndarray/snanmskminabs $\\color{green}109/109$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}109/109$
$\\color{green}+0.00\\%$
stats/base/ndarray/snanmskrange $\\color{green}109/109$
$\\color{green}+0.00\\%$
$\\color{green}3/3$
$\\color{green}+0.00\\%$
$\\color{green}1/1$
$\\color{green}+0.00\\%$
$\\color{green}109/109$
$\\color{green}+0.00\\%$

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

Comment-only hyphenation edits to `lib/main.js` and `src/main.c` in
`math/base/special/{cbrt,log1p,kernel-log1p,kernel-log1pf}` mark those
packages as changed, and their combined dependent set (126+ packages)
makes the affected-tests CI job fail with "Argument list too long"
before any test runs. The edits are dropped to keep CI green; the
remaining changed packages have a bounded dependent set.
@kgryte
kgryte marked this pull request as ready for review August 20, 2026 02:15
@kgryte
kgryte requested a review from a team August 20, 2026 02:15
@stdlib-bot stdlib-bot added the Needs Review A pull request which needs code review. label Aug 20, 2026
@kgryte kgryte changed the title chore: propagate develop fixes to sibling packages (2026-08-19) chore: clean-up Aug 20, 2026
@kgryte
kgryte merged commit 10dda53 into develop Aug 20, 2026
36 checks passed
@kgryte
kgryte deleted the philipp/fix-propagation-2026-08-19 branch August 20, 2026 02:15
@stdlib-bot stdlib-bot removed the Needs Review A pull request which needs code review. label Aug 20, 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