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

stillwater-sc / universal / 34759498803
86%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 13 Sep 2026 01:57PM UTC
Jobs 1
Files 655
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

13 Sep 2026 01:19PM UTC coverage: 85.706%. Remained the same
34759498803

push

github

web-flow
refactor(ereal): split ereal into core / manipulators / iostream (#1334) (#1461)

* refactor(ereal): split ereal into core / manipulators / iostream (#1334)

Third type of Phase 2 group 5b (#1455).

    core.hpp     70,745 lines / 355 headers / 0 I/O-family
    ereal.hpp    85,160 lines / 427 headers / 5 I/O-family  (was 104,596 / 454 / 5)

Zero I/O-family headers is met. Under-45,000 lines is not, and reporting the
number rather than moving the bar: internal/expansion/expansion_ops.hpp -- the
Shewchuk expansion arithmetic ereal is built from -- is 49,717 lines on its own
(already 0 I/O), and native/ieee754_core.hpp (43,486) supplies isinf/isnan. The
umbrella's fall is mostly an unused <regex> (78,114 lines, <sstream> included).

The core was not self-sufficient -- the gate found it

parse() and to_digits() call pown(ereal, int) and ldexp(ereal, int), and both
were defined in the MATHLIB. On main that works only because the umbrella
includes mathlib.hpp after the impl and the calls are dependent, so ADL finds the
definitions at instantiation. A translation unit including core.hpp alone
compiled cleanly under -fsyntax-only and failed the moment the gate instantiated
to_string(). The same trap bfloat16's isinteger() -> floor() hit (#1445).

- pown(ereal, int) moves from mathlib.hpp into ereal_impl.hpp, beside abs(). That
  is where dd keeps its pown, for the same reason. mathlib.hpp now includes the
  core, so everything that saw pown before still does.
- core.hpp includes math/functions/numerics.hpp -- ldexp, frexp, copysign,
  scalbn, logb, ilogb, fma: 109 lines of pure computation, I/O-free.

The trace

to_string(), to_digits() and round_string() carry ten trace statements behind
`if constexpr (bTraceDecimalConversion)` / `(bTraceDecimalRounding)`. A discarded
branch still needs std::cout DECLARED, so they now write through
std::fprintf(stdout, ...) -- exactly what dd, whose to_string this code was
ported from, already does. The two static constexpr ... (continued)

39 of 48 new or added lines in 3 files covered. (81.25%)

1 existing line in 1 file now uncovered.

43285 of 50504 relevant lines covered (85.71%)

7163345.35 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
83.18
-0.96% include/sw/universal/number/ereal/ereal_impl.hpp
2
57.14
0.0% include/sw/universal/number/ereal/manipulators.hpp

Coverage Regressions

Lines Coverage ∆ File
1
57.14
0.0% include/sw/universal/number/ereal/manipulators.hpp
Jobs
ID Job ID Ran Files Coverage
1 34759498803.1 13 Sep 2026 01:57PM UTC 655
85.71
GitHub Action Run
Source Files on build 34759498803
  • Tree
  • List 655
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34759498803
  • 299328e4 on github
  • Prev Build on main (#34759494934)
  • Next Build on main (#34761513466)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc