Repository navigation
A fixed duration is fixed whatever numpy's rounding; an always-up mission to rounding - #358
Merged
Merged
Conversation
…sion to rounding The suite at every dependency's floor (numpy 2.0.0, new this cycle: the job tested only the oldest surpyval before) failed four tests on the release pull request (#353). Three refused a component maintained for an exactly known time: the duration is told fixed from its variance, a difference of two numbers about its square, against a tolerance of a billionth of it squared, a few units of rounding wide, and numpy 2.0 sums the moments to a variance of 1e-15 at a duration of 5. The tolerance is a millionth of the duration, which rounding cannot cross and no spread duration meets. The fourth asserted that an always-up unit's mission availability is exactly 1.0, where the integral of a constant sums the quadrature's weights: to rounding now. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016Ng6hwUY8zznhm1jRfZJqZ
derrynknife
added a commit
that referenced
this pull request
Oct 16, 2026
…nding (#359) With the fixed-duration tolerance rounding cannot cross (#358), a time known exactly is told fixed on every numpy, but was given its mean, which numpy 2.0 sums to 1.9999999999999996 for 2: it is now the time of its one atom. The planned-outage test that compares a run's costs, the exact means integrated by quadrature, with whole numbers compares them to rounding: at the floors the integrals come out at 19.999999999999996 and 20.000000000000057 for 20. The full suite at the floors passes locally (6605 passed). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016Ng6hwUY8zznhm1jRfZJqZ
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.
Summary
The
test (minimum dependencies)job on the release pull request (#353) failed four tests that no other job does. The job is new this cycle: at 0.13 it installed only the oldest surpyval, and now every dependency sits at its floor, so numpy 2.0.0 ran the suite for the first time. Reproduced in a Python 3.11 environment at the floors (numpy 2.0.0, scipy 1.13.0, networkx 3.0, surpyval 0.24, tqdm 4.64.0); both failures are there at 0.13 too, so they are rounding sensitivities exposed, not regressions.ExactEventTime) is followed as a fixed time; it was told fixed from its variance, a difference of two numbers about the duration squared, against(1e-9 * top) ** 2, a few units of rounding wide. numpy 2.0 sums the moments to a variance of 7e-15 at a duration of 5 (newer numpy to exactly 0), so the component's exact and numerical analyses refused ("its later age replacements ... are too many ... to follow exactly"). The tolerance is now a millionth of the duration: rounding cannot cross it, and no spread duration meets it. A CHANGELOG entry under Fixed, as numpy 2.0 users meet it.test_instant_repair_is_always_upassertedmission_availability(100.0) == 1.0exactly, where the integral of a constant 1 sums the Gauss weights (1.9999999999999998 on numpy 2.0's build): to rounding,abs=1e-15.At the floors:
test_expected_window.py,test_start_from_state.py,test_point_availability.py,test_chains_over_time.pyandtest_condition_long_run.pypass (108 passed). Currently (numpy 2.4.6): those andtest_hidden_failures_timed.pyandtest_messages.pypass (154 passed). black, flake8 and mypy clean.Generated by Claude Code