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

stillwater-sc / universal / 26245492001
84%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 21 May 2026 06:58PM UTC
Jobs 1
Files 651
Run time 2min
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

21 May 2026 06:32PM UTC coverage: 84.213% (-0.03%) from 84.238%
26245492001

push

github

web-flow
feat(elreal): Phase G -- elreal as a cross-implementation validation oracle (#900)

Phase G of epic #873 (resolves #880). Wires elreal into Universal's
validation pipeline as the cross-implementation oracle for the other
multi-component types (dd, qd, dd_cascade, td_cascade, qd_cascade,
ereal<N>).

New helper at include/sw/universal/verification/test_suite_elreal_oracle.hpp:

  template<typename TargetType>
  bool check_against_elreal_oracle(const TargetType& target,
                                   const elreal& oracle,
                                   int safety_margin = 2);

The helper compares a Universal-type value against an elreal reference
computed via an INDEPENDENT code path. Tolerance is derived from the
target type's numeric_limits::digits10 minus a safety margin. NaN,
inf, and near-zero oracle cases are handled explicitly.

Precision ceiling
-----------------

The validation provided today is at *double* precision: elreal's lazy
refinement currently caps at depth 1 (per Phases C and E docblocks),
so for double-input test cases the oracle delivers ~53 bits. The
distinguishing property is CROSS-IMPLEMENTATION: the reference is
computed by elreal's lazy-arithmetic backend (a completely independent
code path from dd_cascade's hand-crafted Bailey/Hida algorithm).
Cross-implementation agreement is a non-trivial bug signal even at
matched precision.

What this catches today:
  - Wrong sign or wrong magnitude (gross bugs)
  - Implementations that match std::cmath but disagree with elreal's
    algebraic path (subtle algorithmic issues)
  - Precision regressions below double's ~16 decimal digits

What this does NOT yet catch:
  - Sub-double-ULP precision drift in the target type. Catching that
    requires elreal to deliver >53 bits, which is the depth-2+ follow-up
    filed against the elreal epic. When that work lands, the helper's
    precision improves transparently -- the API surface doesn't change.

Demo test
---------

elastic/elreal/or... (continued)

46931 of 55729 relevant lines covered (84.21%)

5284651.57 hits per line

Coverage Regressions

Lines Coverage ∆ File
10
31.43
-3.57% include/sw/universal/verification/test_suite_randoms.hpp
3
80.8
-0.45% include/sw/universal/number/posit1/specialized/posit_16_1.hpp
2
89.78
-0.55% include/sw/universal/number/posito/posito_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 26245492001.1 21 May 2026 06:58PM UTC 651
84.21
GitHub Action Run
Source Files on build 26245492001
  • Tree
  • List 651
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26245492001
  • 9c89d351 on github
  • Prev Build on main (#26243980512)
  • Next Build on main (#26252967359)
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