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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 13 Sep 2026 03:19AM UTC
Jobs 1
Files 648
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:40AM UTC coverage: 85.666%. Remained the same
34733638818

push

github

web-flow
refactor(dfloat): split dfloat into core / manipulators / iostream (#1334) (#1446)

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

Second type of Phase 2 group 5a (#1444), and it needed a substrate split first.

    core.hpp        58,787 lines / 295 headers / 0 I/O-family
    dfloat.hpp      76,512 lines / 377 headers / 5 I/O-family  (was 77,924 / 390 / 5)

Zero I/O-family headers, the binary criterion, is met. The under-45,000-lines
criterion is NOT, and reporting the number rather than moving the bar: the two
shared substrates a dfloat core cannot do without -- native/ieee754_core.hpp at
43,486 and internal/blockbinary/to_decimal.hpp at 33,308 -- already total 44,846
together, before dfloat contributes a line. That ceiling belongs to the
substrate, not to this type. For scale, the merged cores sit at cfloat 78,330,
fixpnt 78,123, posit 77,430, lns 74,762.

Substrate: internal/blockbinary/to_decimal.hpp (new)

to_decimal() builds its result by prepending characters to a std::string and
never opens a stream, but it shared manipulators.hpp with type_tag, to_binary and
to_hex, which do -- 50,808 lines and four of the five I/O-family headers. dfloat's
str() renders its significand with to_decimal(), and str() is core by the layer
contract, so the core could not reach zero while that function was trapped in a
streaming header. Split out: 33,308 lines, 0 I/O. manipulators.hpp includes it, so
every existing caller is unaffected. This is the rational precedent (#1425) taken
one step further -- rational could move its only consumer out of the core, dfloat
cannot.

What moved in dfloat:

- to_binary() and to_native() format through a stringstream -> manipulators.hpp.
- operator<< and operator>> -> iostream.hpp, which includes only core.hpp:
  operator<< formats through the core member str() and operator>> hands its token
  to parse(), so unlike bfloat16 there is no dependency on manipulators at all.
- parse() STAYS in the core. ... (continued)

67 of 68 new or added lines in 3 files covered. (98.53%)

43193 of 50420 relevant lines covered (85.67%)

7175507.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
96.67
include/sw/universal/number/dfloat/iostream.hpp
Jobs
ID Job ID Ran Files Coverage
1 34733638818.1 13 Sep 2026 03:19AM UTC 648
85.67
GitHub Action Run
Source Files on build 34733638818
  • Tree
  • List 648
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34733638818
  • 99abaa05 on github
  • Prev Build on main (#34732657399)
  • Next Build on main (#34734291131)
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