Repository navigation
refactor: use constants/float64/nan and clean-up - #13585
Merged
Merged
Conversation
Propagates fix from 05aaec1 ("refactor: use `constants/float64/nan` in `math/base/special/pow`") to 100 sibling packages generating NaN via the inline `0.0/0.0` idiom in their C implementations. Doc example occurrences are intentionally left unchanged. Ref: #11743 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EHa9r1LqZ3Tg3Gft34EGQv
Propagates fix from 2b91bfe ("chore: clean-up") to sibling packages whose README documents a single input ndarray using the nested list form. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EHa9r1LqZ3Tg3Gft34EGQv
Propagates fix from 2780757 ("style: re-enable lint rule") to READMEs whose governed code blocks no longer exceed the 80-character line limit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EHa9r1LqZ3Tg3Gft34EGQv
Reverts the `constants/float64/nan` changes for `math/base/special/gamma`: its `src/main.c` carries pre-existing trailing whitespace (lines 211 and 227) which fails editorconfig linting for any PR touching the file. Dropped per the pre-existing-lint rule rather than folding unrelated whitespace fixes into the propagation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EHa9r1LqZ3Tg3Gft34EGQv
Member
Author
|
CI status for this draft:
Resolving the two timeouts requires a call outside this PR's scope: raise the workflow action timeout, split the sweep into batches, or accept partial CI for a diff of this shape. Happy to split into per-batch PRs if preferred. Generated by Claude Code |
kgryte
marked this pull request as ready for review
July 20, 2026 20:44
kgryte
approved these changes
Jul 20, 2026
Member
|
As the CI failure is expected, I'll go ahead and merge. |
constants/float64/nan across math/base/specialconstants/float64/nan and clean-up
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
This pull request propagates fixes merged to
developbetween 2026-07-19 13:04 (-0700) and 2026-07-20 00:58 (-0700) to sibling packages with the same underlying defects. Three patterns, one commit per source commit:0.0/0.0→STDLIB_CONSTANT_FLOAT64_NAN(source: 05aaec1)Applies the transformation from 05aaec1 ("refactor: use
constants/float64/naninmath/base/special/pow") across the remaining namespace: replaces the inline0.0/0.0NaN idiom insrc/main.cwithSTDLIB_CONSTANT_FLOAT64_NAN, adding thestdlib/constants/float64/nan.hinclude and the@stdlib/constants/float64/nanmanifest dependency. Covers 99 packages — all remainingmath/base/specialpackages using the inline idiom in executable code, includingfast/*.math/base/special/fibonacciis excluded (already covered by open PR #12154), andmath/base/special/gammais excluded due to pre-existing trailing whitespace in itssrc/main.cwhich fails editorconfig linting for any PR touching the file. Doc-comment occurrences of0.0/0.0are left untouched, as they are not executable code.Flatten single-entry
arraysparameter descriptions (source: 2b91bfe)Applies the same flattening from
gany(2b91bfe) to the remainingarraysparameter descriptions still using the nested single-entry list form. Each target function accepts exactly one input ndarray, so the sub-bullet collapses into the parent line:blas/base/ndarray/dnrm2,blas/base/ndarray/dzasum,blas/base/ndarray/dznrm2,blas/base/ndarray/gnrm2,blas/base/ndarray/scasum,blas/base/ndarray/scnrm2,blas/base/ndarray/snrm2,blas/ext/base/ndarray/dindex-of-falsy, andblas/ext/base/ndarray/gindex-of-falsy. No functional or type changes — README-only.Remove stale
eslint-disable max-lenannotations (source: 2780757)This propagates the pattern established in 2780757 ("style: re-enable lint rule"): a
<!-- eslint-disable max-len -->annotation is stale once every raw line in its governed fenced code block is <=80 characters, sincemax-len's ignore-options only shorten effective length, never lengthen it. Removes the 10 remaining stale annotations across 9 READMEs —strided/base/nullary-addon-dispatch(2),lapack/base/{dgttrf,dlassq,dpttrf,spttrf},blas/ext/base/{dfirst-index-less-than,dsome,ssome},ndarray/base/assign-scalar— leaving annotations governing blocks with lines >80 chars untouched.Related Issues
This pull request has the following related issues:
constants/float64/nanrefactor; this PR covers themath/base/specialnamespace)Questions
No.
Other
Validation. Candidate sites were enumerated by exact pattern search scoped to each source commit's sibling namespace, then validated per site by two independent reviewing agents (full-file reads confirming the defect is present and the patch is semantics-preserving), an adaptation pass (include placement, per-conf manifest coverage, patch self-containment), and a style-consistency pass (macro usage, manifest entry position/indentation, markdown list and blank-line structure). All 118 validated sites advanced with dual confirmation; two initially flagged patch defects (a mis-indented manifest entry in
powm1caused by a pre-existing stray blank line, and a second stale annotation innullary-addon-dispatchinitially missed) were corrected and re-confirmed by two fresh independent reviewers.gammawas subsequently dropped in CI triage (pre-existing lint failure unrelated to the propagation), leaving 117 sites in the final diff.Deliberately excluded:
math/base/special/fibonacci(open PR #12154),math/base/special/gamma(pre-existing trailing whitespace fails editorconfig lint),math/base/special/{atan2d,fast/max}(only doc-comment occurrences of the idiom), float320.0f/0.0fsites (different constant, not a direct analog of the source commit), and annotations governing code blocks with lines exceeding 80 characters.Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
This PR was authored by Claude Code via the automated fix-propagation routine: source commits from the last 24 hours on
developwere analyzed for generalizable fix patterns, candidate sibling sites were enumerated by exact pattern search, and every applied patch was confirmed by two independent validation agents plus adaptation and style-consistency passes before commit.