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

stillwater-sc / universal / 36197995566
87%
master: 84%

Build:
Build:
LAST BUILD BRANCH: valid
DEFAULT BRANCH: master
Ran 25 Sep 2026 11:13PM 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 10:42PM UTC coverage: 85.992% (+0.02%) from 85.977%
36197995566

push

github

web-flow
fix(headers): correct min_exponent, and saturate it where it outgrows int (#1609)

* fix(headers): correct min_exponent, and saturate it where it outgrows int

Two defects in the same trait, both surfaced by the #1604 work making the
derived decimal exponents exact: a correct derivation from a wrong input is
still wrong.

#1608. numeric_limits::min_exponent is the minimum n with radix^(n-1)
normalized, so it is one MORE than the scale of the smallest normal. Three
types had it equal to that scale, or to the negated bias:

  type          smallest normal   was    now    min_exponent10
  bfloat16      2^-126            -128   -125   -38 -> -37
  e4m3          2^-6                -6     -5    -2 -> -1
  posit<16,2>   minpos scale -56   -56    -55   -17 -> -16

bfloat16 is the clearest case: it has float's exponent field and now reports
what numeric_limits<float> reports. Each is asserted against the type's own
min(), which is the standard's definition restated rather than a recomputation
of the formula under test.

min_exponent is not a display-only trait, so the dependents were measured
before and after rather than inferred from a green suite:

  quantity                       main     branch
  bfloat16 is_expansion_limb     no       no
  haveBelow  (elreal block.hpp)  129      126
  shortfall  (2k - haveBelow)    -113     -110     both <= 0, bias stays 0
  zero_exponent (expansion_ops)  -162     -159
  elreal<bfloat16> sqrt(2)       identical

The derived quantities move, but neither crosses a decision boundary:
eft_scale_bias() returns 0 on both sides, and bfloat16 is not an expansion limb
so ereal's budget never reads it. elreal sqrt(2) is bit-identical on the
bfloat16, float and double hosts. 181/181 ereal, elreal, bfloat16, microfloat,
posit, lns and dbns tests pass.

#1602. An lns exponent range is 2^(nbits-1-rbits) and outgrows int quickly --
lns<48,10> needs 2^37 -- and numeric_limits types the trait as int. The
narrowing was silent and WRAPPED:... (continued)

45514 of 52928 relevant lines covered (85.99%)

9402778.64 hits per line

Jobs
ID Job ID Ran Files Coverage
1 36197995566.1 25 Sep 2026 11:13PM UTC 676
85.99
GitHub Action Run
Source Files on build 36197995566
  • Tree
  • List 676
  • Changed 5
  • Source Changed 4
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36197995566
  • ce568339 on github
  • Prev Build on main (#36142964455)
  • Next Build on main (#36205058783)
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