Repository navigation
test: migrate stats/base/dists/geometric/mgf to ULP-based assertions - #15911
Merged
Merged
Conversation
Ref: #11352 Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014gfDvKpWTQdKhgDQixTRdu
Contributor
Coverage Report
The above coverage report was generated for the changes in this PR. |
kgryte
marked this pull request as ready for review
October 12, 2026 12:57
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.
Resolves a part of #11352.
Description
This pull request:
stats/base/dists/geometric/mgffrom relative tolerance testing to ULP difference testing, following the idiom established in [RFC]: Migratemath/base/specialpackages from relative tolerance testing to ULP difference testing (tracking issue) #11352.if ( y === expected[i] ) { ... } else { delta/tol ... }branches intest/test.mgf.js,test/test.factory.js, andtest/test.native.jswitht.strictEqual( isAlmostSameValue( y, expected[ i ], N ), true, 'returns expected value' );, adds the@stdlib/assert/is-almost-same-valuerequire, and removes the now unused@stdlib/math/base/special/absand@stdlib/constants/float64/epsrequires.Notes on the ULP bounds:
4for thesmall_pfixtures and3for thelarge_pfixtures, used identically intest.mgf.js,test.factory.js, andtest.native.js.64and lowering each to the minimum integer which still passes over the full fixture set (1000 values per fixture file).4and3are the measured minimums: lowering either bound by one produces exactly one failing assertion per fixture set.3.0 * EPS(small_p) and2.0 * EPS(large_p), which is consistent with the measured ULP minimums.test.native.jscarries the same bounds.Only the test files are changed; no implementation or fixture changes.
Related Issues
This pull request has the following related issues:
math/base/specialpackages from relative tolerance testing to ULP difference testing (tracking issue) #11352Questions
No.
Other
Verification performed locally:
make test TESTS_FILTER=".*/stats/base/dists/geometric/mgf/.*"→ 6047 passing, 0 failing acrosstest.js,test.mgf.js,test.factory.js, andtest.native.js(run twice, identical results).NODE_ADDONS_PATTERN="geometric/mgf" make install-node-addons, sotest.native.jswas actually exercised rather than skipped.make eslint-tests TESTS_FILTER=".*/stats/base/dists/geometric/mgf/.*"→ clean.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 unattended scheduled task. It studied the prior art in #11352 and the merged conversions for sibling packages in the same family, applied the mechanical conversion, and measured the minimum passing ULP bounds empirically.
@stdlib-js/reviewers
🤖 Generated with Claude Code
https://claude.ai/code/session_014gfDvKpWTQdKhgDQixTRdu
Generated by Claude Code