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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 23 May 2026 08:14PM UTC
Jobs 1
Files 657
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

23 May 2026 07:46PM UTC coverage: 83.953% (-0.3%) from 84.271%
26341889979

push

github

web-flow
feat(elreal): Phase 4 -- bit-perfect McCleeary threeAdd + add() (#940)

* refactor(elreal): block exp_offset (coarse) -> exp (per-unit)

Foundational refactor for the McCleeary algorithm work in Phase 4.

The original block<FpType> stored exp_offset as a coarse multiplier in
units of 2^E_FpType (~2048 for double). The intent was to extend a single
block's exponent range, but McCleeary's algorithm (threeAdd, addRec,
createZero) needs per-unit integer exponents in Z.

Changes
- block.hpp: rename `exp_offset` -> `exp`, drop the `* exp_step`
  multiplication in exponent(). For zero blocks exp is returned
  directly (zero blocks have no v-derived scale).
- block.hpp: add the dissertation primitives needed by Phase 4:
  createZero, singleBit, dominate, expGreater, expGreaterBy. (These
  were always going to land here; folding into this refactor keeps the
  block API in one place.)
- block_eft.hpp, block_manipulators.hpp, zbcl_helpers.hpp, zbcl.hpp:
  updated to use the renamed field.
- exp_field_width.hpp: removed (was only needed for the coarse
  multiplier story).
- elreal.hpp: drop the obsolete include.
- elastic/elreal/block/exp_offset.cpp: rewritten to test the simpler
  per-unit semantics (file name kept for stable cmake target naming).
- All other Phase 1-3 tests: trivial field renames + the one cross-exp
  test in zero_overlap.cpp updated to use gap=k instead of an exp=1
  block that no longer means "a huge magnitude jump".

Validation
- gcc 13.3 debug + release: all 13 Phase 1-3 tests PASS.
- clang 18.1 debug + release: all 13 Phase 1-3 tests PASS.

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

* feat(elreal): Phase 4 -- bit-perfect McCleeary threeAdd + add()

Phase 4 of the McCleeary LFPERA reimplementation (epic #923). Direct
C++ translation of FCL.hs from the dissertation Appendix A.4. The
structure mirrors the Haskell so the code can be cross-checked
line-by-line against the dissertation.

What ships
- twoSumRN (Definiti... (continued)

114 of 347 new or added lines in 4 files covered. (32.85%)

47269 of 56304 relevant lines covered (83.95%)

5267661.3 hits per line

Uncovered Changes

Lines Coverage ∆ File
227
24.83
include/sw/universal/number/elreal/threeAdd.hpp
6
86.96
-9.04% include/sw/universal/number/elreal/block.hpp
Jobs
ID Job ID Ran Files Coverage
1 26341889979.1 23 May 2026 08:14PM UTC 657
83.95
GitHub Action Run
Source Files on build 26341889979
  • Tree
  • List 657
  • Changed 6
  • Source Changed 5
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26341889979
  • d021f120 on github
  • Prev Build on main (#26341266844)
  • Next Build on main (#26343438988)
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