• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stillwater-sc / universal / 23650457302
85%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 27 Mar 2026 02:42PM UTC
Jobs 1
Files 629
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Mar 2026 02:13PM UTC coverage: 84.376%. Remained the same
23650457302

push

github

web-flow
feat(ucalc): catastrophic cancellation detection command (#641)

* feat(ucalc): catastrophic cancellation detection command (#622)

Add `cancel <expr>` command that analyzes all subtractions in an
expression for cancellation. For each subtraction, reports:
- Shared leading decimal digits between operands
- Remaining significant digits in the result
- Severity classification (none/mild/severe/catastrophic)
- Exact result via qd reference for comparison

Severity thresholds: mild (1-3 shared digits), severe (3-6),
catastrophic (6+).

Supports all output formats: plain, --json, --csv, --quiet.
20/20 CTests pass on both gcc and clang.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(ucalc): resolve CodeRabbit review items for cancel command

Address three review findings:

1. Add suggestion field to CancelInfo with reformulation hints:
   - sqrt(a)-sqrt(b) pattern: suggests (a-b)/(sqrt(a)+sqrt(b))
   - quadratic formula pattern: suggests stable alternative
   - generic severe cancellation: general rewrite guidance
   Suggestion included in plain, JSON, and CSV output.

2. Use lossless operand representations for qd reference replay:
   - Add operand_a_rep/operand_b_rep to TraceStep (native_rep strings)
   - cancel command parses these via ExpressionEvaluator for qd replay
   - Preserves full precision for types wider than double (qd, dd, etc.)

3. Clamp digit metrics to [0, type_digits]:
   - ratio clamped to <= 1.0 before -log10 (prevents negative shared_digits)
   - shared_digits clamped to [0, type_digits]
   - result_digits stays in [0, type_digits] automatically

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(ucalc): remove pattern-matching rewrite suggestions from cancel

Syntax-based pattern matching (seeing 'sqrt' and '-' in an expression)
cannot reliably determine whether a reformulation would help. The
conjugate form (a-b)/(sqrt(a)+sqrt(b)) only avoids cancellation when
a,b are exact input... (continued)

44403 of 52625 relevant lines covered (84.38%)

6134151.01 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
81.25
0.0% include/sw/universal/number/posit1/specialized/posit_16_1.hpp
Jobs
ID Job ID Ran Files Coverage
1 23650457302.1 27 Mar 2026 02:42PM UTC 629
84.38
GitHub Action Run
Source Files on build 23650457302
  • Tree
  • List 629
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23650457302
  • 41fb5b7a on github
  • Prev Build on main (#23642281318)
  • Next Build on main (#23663759731)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc