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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 25 Sep 2026 05:28AM UTC
Jobs 1
Files 676
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

25 Sep 2026 04:52AM UTC coverage: 85.992%. Remained the same
36096227751

push

github

web-flow
fix(headers): exact digits10 and max_digits10 for areal, microfloat, unum, posit, integer (#1605)

* fix(headers): exact digits10 and max_digits10 for areal, microfloat, unum, posit, integer

#1597 fixed cfloat. Eleven other numeric_limits specializations carried the same
digits/3.3 expression. Five of them are fixed here; the other six are not, and
that is the substance of this change rather than an omission.

Two formulas, not one. A binary floating-point type counts significand bits and
a decimal literal has to survive a rounding step, so digits10 loses one bit:
floor((digits - 1) * log10(2)). An integer format has no rounding step, so its
digits10 is floor(digits * log10(2)) with no -1, and max_digits10 is 0 because
there is no decimal round trip to size -- which is what the native integers
report. Using the floating-point formula on integer would have traded one wrong
answer for another, so decimal_digits10_integer() is separate.

What the negative control found, running the new suite against main:

  areal<32,8>     digits10 7 -> 6      max_digits10 7 -> 9
  areal<64,11>    digits10 16 -> 15    max_digits10 16 -> 17
  areal<16,5>                          max_digits10 3 -> 5
  e4m3            digits10 1 -> 0      max_digits10 1 -> 3
  e5m2                                 max_digits10 0 -> 2
  posit<64,2>     digits10 18 -> 17    max_digits10 19 -> 20
  posit<32,2>                          max_digits10 9 -> 10
  posit<16,2>                          max_digits10 4 -> 5
  unum<3,4>                            max_digits10 4 -> 6
  integer<64>     digits10 19 -> 18    max_digits10 19 -> 0
  integer<32>                          max_digits10 9 -> 0
  integer<16>                          max_digits10 4 -> 0

integer<64> was advertising 19 decimal digits where an int64 holds 18, and
areal<32,8> and areal<64,11> disagreed with the native float and double whose
field widths they carry. Those configurations are now required to agree with the
native type, whi... (continued)

45514 of 52928 relevant lines covered (85.99%)

9412923.56 hits per line

Jobs
ID Job ID Ran Files Coverage
1 36096227751.1 25 Sep 2026 05:28AM UTC 676
85.99
GitHub Action Run
Source Files on build 36096227751
  • Tree
  • List 676
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36096227751
  • 04cb09cb on github
  • Prev Build on main (#36078890541)
  • Next Build on main (#36099390330)
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