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

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

Build:
Build:
LAST BUILD BRANCH: fasttakum
DEFAULT BRANCH: master
Ran 13 Sep 2026 03:37PM UTC
Jobs 1
Files 661
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 02:58PM UTC coverage: 85.71% (+0.004%) from 85.706%
34764211315

push

github

web-flow
refactor(unum1): split unum into core / manipulators / iostream (#1334) (#1472)

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

Fifth and last type of Phase 2 group 5c (#1467).

    core.hpp   57,803 lines / 293 headers / 0 I/O-family
    unum.hpp   76,360 lines / 379 headers / 5 I/O-family  (was 76,293 / 373 / 5)

Zero I/O-family headers is met. Under-45,000 lines is not, and reporting the
number rather than moving the bar: unum decodes through extractFields and
ieee754_parameter, and native/ieee754_core.hpp is 43,486 lines on its own (0
I/O); blockbinary (33,257, 0 I/O) overlaps most of the rest.

(Scope is `unum1`, the allow-list's name for unum Type I.)

The split

- unum_impl.hpp included <iostream>, <iomanip> and <sstream>, plus the full
  native/ieee754.hpp. The division-by-zero diagnostic is now
  fprintf(stderr, ...) behind the same !is_constant_evaluated() guard;
  native/ieee754.hpp -> native/ieee754_core.hpp. The umbrella keeps including
  ieee754.hpp, which used to arrive through the impl.
- operator<< and operator>> were already friend-DECLARED in the class; their
  definitions move to iostream.hpp.
- parse() reads a decimal literal through an istringstream and only operator>>
  calls it, so it moves to manipulators.hpp (the cfloat/bfloat16 placement);
  its declaration stays in unum_fwd.hpp. iostream.hpp includes manipulators.hpp
  for it. components() moves to manipulators.hpp too.
- ubound is a value type and stays in the core; its operator<<, which streams
  the unum endpoints, moves to iostream.hpp. ubound.hpp had <sstream> and no
  <algorithm> for its std::min/std::max over initializer lists.
- core.hpp: exceptions, fwd, impl, numeric_limits, math_functions, ubound.
- UNUM_ENABLE_LITERALS and UNUM_THROW_ARITHMETIC_EXCEPTION default in
  unum_impl.hpp (#1436); the latter is read by operator/=.

Self-containment, each found by compiling the header alone -- all four failed
on main too, with 6 to 67 errors:
... (continued)

51 of 55 new or added lines in 2 files covered. (92.73%)

43287 of 50504 relevant lines covered (85.71%)

7163398.91 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
91.67
include/sw/universal/number/unum/iostream.hpp
2
98.4
-1.6% include/sw/universal/number/unum/manipulators.hpp
Jobs
ID Job ID Ran Files Coverage
1 34764211315.1 13 Sep 2026 03:37PM UTC 661
85.71
GitHub Action Run
Source Files on build 34764211315
  • Tree
  • List 661
  • Changed 6
  • Source Changed 5
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34764211315
  • 1f376a06 on github
  • Prev Build on main (#34764208093)
  • Next Build on main (#34771989878)
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