Repository navigation
Mutation coverage: IMPL-scaleUp - #447
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 49 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@coderabbitai assess this PR size classification for the totality of the PR with the following criterias and report it in your comment: S/M/L PR Classification Guidelines:This guide helps classify merged pull requests by effort and complexity rather than just line count. The goal is to assess the difficulty and scope of changes after they have been completed. Small (S)Characteristics:
Review Effort: Would have taken 5-10 minutes Examples:
Medium (M)Characteristics:
Review Effort: Would have taken 15-30 minutes Examples:
Large (L)Characteristics:
Review Effort: Would have taken 45+ minutes Examples:
Additional Factors to ConsiderWhen deciding between sizes, also consider:
Notes:
|
Adds
testScaleUpPowersOfTen: every power of ten in (0, 1e76) and its two neighbours, at exponent 0 and at the least exponent the shift leaves room for (one digit short reverts). A power of ten is the only coefficient that lands exactly on a step threshold, so the<vs<=of each step was only killed when the fuzzer happened to draw one (step 3's survived the pre-existing suite outright).QA
Discriminating tests: testScaleUpPowersOfTen (alone kills M04, M05, M07-M09, M11-M13, M15-M17, M19-M21, M23-M46; the pre-existing suite left M15 surviving and killed M07/M11/M19/M23/M27 only by fuzz draw)
Mutations applied: 46 via mutation-probe on scaleUp/scaleUpUnguarded: range guard (3), exponent-wrap revert (2), each of 7 steps' threshold raised, lowered,
<to<=, multiplier and decrement changed, returned coefficient; M06/M10/M14/M18/M22 (steps 1-5 thresholds lowered one decade) are equivalent, shown exhaustively over all 76 digit countsOracle: LibExactFloat.digits on the exact coefficient (shift t = 76 - digits), expected (c * 10^t, e - t) iff e >= int256.min + t, else ScaleUpOutOfRange with the input
Category check: test-only; no src changes
🤖 Generated with Claude Code