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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 24 May 2026 04:19AM 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 03:54AM UTC coverage: 83.986% (+0.02%) from 83.966%
26351253549

push

github

web-flow
feat(ereal): rename identities.cpp -> algebraic_identities.cpp, standardize (#948) (#971)

* feat(ereal): rename identities.cpp -> algebraic_identities.cpp, standardize (#948)

Decision (issue #948, Option 1): keep the CROSS-operator identities -- they
have real test value (distributivity catches multiplication/addition drift)
-- but make their cross-operator scope explicit via the file name, and bring
the file up to the standard regression framework. Single-operator algebraic
invariants stay in the per-operator files (addition/subtraction/
multiplication/division.cpp), preserving the "one file = one operator" rule.

Changes:
- Rename identities.cpp -> algebraic_identities.cpp (CMake globs *.cpp, so the
  target becomes er_arith_algebraic_identities automatically).
- Rewrite to the standard structure: anonymous-namespace
  VerifyErealAlgebraicIdentities + property fuzzer +
  REGRESSION_LEVEL_1..4 guards + ReportTestSuite harness.
- Cross-operator identities retained: additive recovery (a+b)-a == b,
  additive inverse (a-b)+b == a, distributivity a*(b+c) == a*b+a*c,
  multiplicative inverse a*(1/a) == 1, division inverse (a/b)*b == a.
- Dropped the associativity-of-+ test: it is single-operator and already
  covered (foundational + fuzz) in addition.cpp.
- Removed the non-ASCII characters and ad-hoc print/main scaffolding.

Exact vs. tolerance: the EFT-based additive identities are bit-exact via
operator==; the distributive and Newton-reciprocal identities carry a
residual and are checked on the projected double within a relative tolerance.

Verified foundational + fuzz (x1k/x10k/x100k) on gcc-13 and clang-18; in-tree
target er_arith_algebraic_identities builds and the old er_arith_identities
target is gone.

Relates to #944
Resolves #948

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

* fix(ereal): add absolute tolerance floor to close_rel (CodeRabbit PR #971)

Pure relative tolerance can spuriously fail when a fuzz case drives ... (continued)

47325 of 56349 relevant lines covered (83.99%)

5374037.87 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26351253549.1 24 May 2026 04:19AM UTC 657
83.99
GitHub Action Run
Source Files on build 26351253549
  • Tree
  • List 657
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26351253549
  • a39f5735 on github
  • Prev Build on main (#26350396300)
  • Next Build on main (#26360409851)
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