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

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

Build:
Build:
LAST BUILD BRANCH: feat/posit_ostream
DEFAULT BRANCH: master
Ran 28 Feb 2026 02:26AM UTC
Jobs 1
Files 567
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

28 Feb 2026 01:59AM UTC coverage: 84.211% (+0.08%) from 84.134%
22510943088

push

github

web-flow
feat(dfloat): portable blockbinary storage, string I/O, and formatting (#524)

* feat(dfloat): adding comprehension facilities to dfloat

* refactor(dfloat): replace raw block storage and __uint128_t with blockbinary<>

Replaces bt _block[nrBlocks] with blockbinary<nbits> for encoding storage
and replaces the platform-specific __uint128_t significand_t with
blockbinary<4*ndigits+8> for significand arithmetic. This eliminates all
14 __SIZEOF_INT128__ guards, making decimal128 (dfloat<34,12>) fully
portable to MSVC and extensible to arbitrary precision beyond 38 digits.

Unified all dual code paths in operator+=, operator*=, operator/=,
pack/unpack, and DPD encode/decode into single implementations that
work uniformly for any ndigits via blockbinary's arbitrary-width
arithmetic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(dfloat): add iostream format flag support to str() and operator<<

str() now respects scientific, fixed, and automatic format modes with
precision control. In automatic mode, scientific notation is used when
the decimal exponent exceeds the type's digit count, preventing enormous
strings for extreme values like numeric_limits::max() and min().
operator<< extracts std::scientific/std::fixed/setw flags from the
stream and delegates to str() accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(dfloat): use native formatting in dynamic_range() instead of double cast

dynamic_range() was casting dfloat values to double before printing,
causing overflow to inf for decimal64/128 maxpos (scale 384/6144 exceeds
double max ~1.8e308) and underflow to 0 for their minpos values. Print
dfloat values directly via operator<< to preserve the full decimal
dynamic range.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(dfloat): enhancing the dfloat api examples

* feat(dfloat): implement decimal string parsing in assign() and default to ndigits precision

Implement assign(const std::string&) to p... (continued)

207 of 219 new or added lines in 3 files covered. (94.52%)

4 existing lines in 2 files now uncovered.

38935 of 46235 relevant lines covered (84.21%)

6801262.81 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
12
94.81
6.33% include/sw/universal/number/dfloat/dfloat_impl.hpp

Uncovered Existing Lines

Lines Coverage ∆ File
2
80.8
-0.45% include/sw/universal/number/posit1/specialized/posit_16_1.hpp
2
78.08
0.0% include/sw/universal/number/posito/posito_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 22510943088.1 28 Feb 2026 02:26AM UTC 567
84.21
GitHub Action Run
Source Files on build 22510943088
  • Tree
  • List 567
  • Changed 6
  • Source Changed 3
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22510943088
  • 98f52748 on github
  • Prev Build on main (#22503503197)
  • Next Build on main (#22511807476)
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