Repository navigation
chore: clean-up - #15498
chore: clean-up#15498
Conversation
…ive tests The migration to ULP-based assertions collapsed the native test tolerance from `32000.0 * EPS * abs( expected )` to 0 ULPs, dropping the accompanying note explaining that the large tolerance is required because the underlying C kernel contracts multiply-add sequences into FMA instructions. Across the Julia fixtures, the previous tolerance spans 32001-63933 ULPs, so the native test would fail on any build compiled without `-ffp-contract=off`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EoFMqk2435zfsa2ngHZa5a
The `static-method-of` anchor was inserted after its heading, so the `Int64.of()` cross-reference added in the same commit lands past the heading. The sibling `static-method-from` anchor and both anchors in `number/uint64/ctor` are placed before their headings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EoFMqk2435zfsa2ngHZa5a
Convert the remaining bracket-escaped interval notation to code spans, matching the adjacent note added in the same commit and the equivalent notes in `number/int64/ctor`, `number/int64/base/number2words`, and `number/uint64/base/number2words`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EoFMqk2435zfsa2ngHZa5a
Coverage Report
The above coverage report was generated for the changes in this PR. |
kgryte
left a comment
There was a problem hiding this comment.
@Planeshifter Left an initial comment. I am a bit confused as to why CI passes but yet the native add-on was flagged.
|
Our messages crossed — I answered on the inline thread a few minutes before your review landed: #15498 (comment) Short version: CI passes because So "CI green" and "the assertion is wrong" aren't in conflict: the tolerance is inert on x86-64 and only bites where FMADD is baseline, i.e. aarch64 — No strong opinion on the constant. Options as I see them, in order of my preference:
Your call; happy to push whichever. And since it's adjacent: #15505 did the same thing to Generated by Claude Code |
Follow-up fixes for commits merged to
developbetweenaf036154(2026-09-23 22:53 PDT) andca4d8510(2026-09-24 02:26 PDT).Description
This pull request:
test.native.jsswapped the native tolerance forisAlmostSameValue( y, expected[ i ], 0 )and dropped the FMA comment; the kernel's variance computation contracts to FMA by default, so 0 ULP fails on any native build. Restored64000ULPs (tight bound over the actual fixtures, which range 32001.2–63932.7 ULPs under the old formula) and restored the FMA note, matching the still-unmigratedskewnesssibling.number/int64/ctor/README.md, thestatic-method-ofanchor landed after theInt64.of()heading rather than before it (ed84323), so the Notes section link resolves past the target; moved the anchor above the heading, matchingstatic-method-fromand the parallelnumber/uint64/ctor/README.mdfix (93dfa49).number/uint64/ctor/README.md: lines 196/198 still use escaped bracket notation (\[0, 2^64-1]) for the interval, inconsistent with the code-span form (`[0, 2^64-1]`) used one line above in the same hunk added in 93dfa49, and with the rest of the namespace after ed84323/e131d88e normalizedint64/ctoranduint64/base/*; converted both to code spans.Grouped by package, one commit each:
stats/base/dists/triangular/stdevfix: restore FMA tolerance ...number/int64/ctordocs: fix anchor placement ...number/uint64/ctordocs: update markup ...Related Issues
No.
Questions
The
triangular/stdevnative tolerance is the one judgment call.64000is the tight upper bound of the previous32000.0 * EPS * abs( expected )formula measured over the package's own Julia fixtures (range 32001.2–63932.7 ULPs), chosen so no case that passed before can now fail. Happy to substitute an empirically measured value if someone can run the native build.Other
Validation. Reviewed all 22 commits merged to
developin the window (59 files, +1623/−523) along two axes: stdlib style-guide compliance (docs/style-guides, each changed package compared against an established reference package of similar complexity) and a bug/logic scan. Four independent reviews were run and their findings cross-checked; only findings that survived re-verification against the diff are included here.Checked and found clean: the ULP-assertion migration across all 14
stats/*test files (assertion counts identical old-vs-new in every file; noisnancheck weakened, no loop bound changed, no unusedabs/EPSrequires left behind); theint64/uint64ctor range widening (isBetween( value, -TWO_63, TWO_63, 'closed', 'open' )admits exactly the documented range, and the newnumber2wordsdelegation was differentially tested against the old inline word-splitting and againstBigInt.asUintNground truth over boundary cases and randomized inputs with zero mismatches); the newnumber/int64/base/number2wordspackage against itsuint64sibling; and theblas/ext/base/ndarraynamespace declarations against the actual exports.Deliberately excluded: anything requiring interpretation, subjective style preferences not codified in the style guide, and anything that could not be validated without changes outside the window's diff. Two candidate findings were dropped as false positives after verification — a suspected mishandling of negative
bigintvalues passed touint64/base/bigint2words, and suspected deadTWO_32/UINT32_MAXrequires inint64/ctor/lib/main.js; both are correct as written.Not run: this environment has no installed dependencies, so the test suite and linters could not be executed. Changes were verified by re-reading each modified file against the proposed fix, by
node --check, and by computing the tolerance bounds directly against the committed fixtures. CI is the authority here.Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
This PR was authored by Claude Code running as an automated daily review of commits merged to
develop. It enumerated the commit window, ran the review passes, applied the fixes, and wrote this description. The findings were cross-checked across independent review passes and re-verified against the diff before inclusion, but the changes have not been reviewed by a human yet — hence draft. Please audit before promoting.🤖 Generated with Claude Code
https://claude.ai/code/session_01EoFMqk2435zfsa2ngHZa5a
Generated by Claude Code