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

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

Build:
Build:
LAST BUILD BRANCH: feat/issue-1079-phase5-suites
DEFAULT BRANCH: master
Ran 18 Jun 2026 04:59PM UTC
Jobs 1
Files 678
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

18 Jun 2026 04:14PM UTC coverage: 84.596% (-0.004%) from 84.6%
27773259500

push

github

web-flow
feat(elreal): class facade -- plug-in arithmetic number system + lazy API (#1079) (#1080)

* feat(elreal): class facade scaffold -- plug-in arithmetic + lazy API (#1079 Phase 1)

elreal was the only Universal number system with no class facade (no
elreal_impl.hpp / class elreal) -- just free functions over the lazy ZBCL block
co-list. Add the standard facade so it drops into templated kernels like any
other type, plus the lazy state-machine extension that is elreal's reason to
exist.

class elreal<FpType=double> wraps a ZBCL<FpType> and is ELASTIC (holds a
shared_ptr -> not trivially copyable; the #925 triviality rule is for the static
block, not this facade -- same as ereal/einteger).

Facade (mirrors ereal_impl.hpp):
- native ctors (int/float/double, exact for ints < 2^53), conversions
  (explicit operator double/float/long double), SpecificValue
- LAZY arithmetic: +-*/ and += -= *= /= store unforced add/mul_online/div_online
  streams; evaluation happens only at a boundary (conversion/compare/I/O)
- DEPTH-BOUNDED comparison: == < ... compare a-b to the deeper precision (exact
  ordering on a nonzero leading limb; exact equality of distinct irrationals is
  undecidable), abs/fabs, free operators (elreal^2, x double)

Lazy state-machine API (the edge over the eager elastic types -- ZBCL memoises,
so refining REUSES pulled work):
- precision()/precision(d) runtime depth; thread-local default + RAII
  elreal_precision_guard scoped override
- limbs(n) / approx<T>(depth) / refine(depth) / stream()

New files: elreal_impl.hpp, manipulators.hpp (type_tag, operator<<),
traits/elreal_traits.hpp (is_elreal); elreal_fwd.hpp + umbrella + aliases
(elreal64/elreal32); elastic/elreal/api/api.cpp (plug-in kernel + lazy API) wired
into CMake. el_api_api PASS on gcc + clang; ASCII clean.

See #1079 for the full phase plan (2: lazy API hardening, 3: limits/manipulators,
4: math facade, 5: conversions/suites/CI).

Relates to #1079, #923

Co-Authored-By: Claude Opus 4.8... (continued)

59 of 59 new or added lines in 1 file covered. (100.0%)

11 existing lines in 2 files now uncovered.

47895 of 56616 relevant lines covered (84.6%)

6742094.64 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
93.95
-0.47% include/sw/universal/number/cfloat/cfloat_impl.hpp
3
80.58
-0.67% include/sw/universal/number/posit1/specialized/posit_16_1.hpp
Jobs
ID Job ID Ran Files Coverage
1 27773259500.1 18 Jun 2026 04:59PM UTC 678
84.6
GitHub Action Run
Source Files on build 27773259500
  • Tree
  • List 678
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27773259500
  • 22857fb7 on github
  • Prev Build on main (#27722924041)
  • Next Build on main (#27790433965)
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