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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 24 May 2026 03:12AM UTC
Jobs 1
Files 657
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

24 May 2026 02:40AM UTC coverage: 83.968% (-0.01%) from 83.978%
26349907074

push

github

web-flow
feat(ereal): refactor division.cpp to standard test pattern (#947) (#969)

* feat(ereal): refactor division.cpp to standard test pattern (#947)

Bring elastic/ereal/arithmetic/division.cpp up to the standard
regression-test structure (matching addition.cpp / subtraction.cpp /
multiplication.cpp) with the operation under test restricted to / and /=.

Structure:
- anonymous-namespace VerifyErealDivision(reportTestCases) for the
  foundational hand-curated cases
- property-based VerifyErealDivision_Fuzz over random multi-component
  expansions, fixed seed, with (seed, iter) reported on failure
- REGRESSION_LEVEL_1..4 guards (x1k/x10k/x100k/x1M) + the ReportTestSuite
  harness

Coverage (per #947): identity (a/1), self-quotient (a/a==1), sign rules,
exact divisions (6/2, 1/4), power-of-two divisor (exact exponent shift),
recurring quotient (1/3 multi-limb), subnormal numerator, divide-by-zero.

Exact vs. tolerance: ereal division is e * reciprocal(f) with a 3-iteration
Newton reciprocal, so it is not exact in general. Division by 1, by a power
of two, by an exact-reciprocal divisor (6/2, 1/4), and the sign rules are
bit-exact via operator==; self-quotient, 15/3, and 1/3 carry a Newton
residual and are checked on the projected double within a relative tolerance.

Divide-by-zero: the foundational suite asserts only the stable current
behavior (finite/0 projects to a non-finite double). IEEE-correct results
(finite/0 = signed Inf, 0/0 = NaN) and the EREAL_THROW_ARITHMETIC_EXCEPTION
throwing path are non-IEEE / unwired today; that block is gated behind
EREAL_TEST_ISSUE_968 and tracked separately as #968.

Removed: the (a/b)*b == a identity (uses *; belongs in identities.cpp), the
non-ASCII '~=' characters, and the ad-hoc tolerance-only main().

Verified foundational + fuzz (x1k, x10k) pass on gcc-13 and clang-18.

Relates to #944
Resolves #947

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

* fix(ereal): add <algorithm> include for std:... (continued)

47296 of 56326 relevant lines covered (83.97%)

5357947.38 hits per line

Coverage Regressions

Lines Coverage ∆ File
10
31.43
-3.57% include/sw/universal/verification/test_suite_randoms.hpp
2
89.78
-0.55% include/sw/universal/number/posito/posito_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 26349907074.1 24 May 2026 03:12AM UTC 657
83.97
GitHub Action Run
Source Files on build 26349907074
  • Tree
  • List 657
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26349907074
  • 89dda477 on github
  • Prev Build on main (#26346900378)
  • Next Build on main (#26350396300)
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