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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 18 Sep 2026 08:52PM UTC
Jobs 1
Files 673
Run time 2min
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

18 Sep 2026 08:18PM UTC coverage: 85.915% (+0.02%) from 85.897%
35390754257

push

github

web-flow
fix: elreal narrow-host convergence and extremes; cfloat ldexp, frexp and saturation (#1559)

#1396: pi_zbcl<half> stopped at 8 digits at every depth. Three stacked causes:
- cfloat ldexp rewrote the exponent field, wrong for every subnormal input
  (ldexp(2^-24, 24) on half gave 1.00098), so block::normalise() corrupted
  subnormal blocks on half. ldexp now keeps the field rewrite only for a
  normal value that stays normal, and otherwise rounds once through
  normalize()/convert(). frexp made the mirror-image error, which the round
  trip hid; it now scales through ldexp.
- the product producers (singleMultHelper, mul, mul_scalar, div) dropped a
  block_two_mult output whose host value was subnormal. It is an exact part of
  the product; it is now normalised and kept (keep_product_block).
- singleDiv_step ended the division at the first empty remainder, dropping
  the rest of the dividend after an exactly divisible prefix. It now reads on,
  skipping a short run of zero blocks, and stops only at the end of the
  dividend or a zero run longer than kSingleDivZeroRun (a lazily produced
  exact value can end in zeros that never stop coming).

#1397: sqrt2_zbcl<half> stalled at 35 digits (the product residual above);
sqrt2 on double scored 319 against a 320-digit reference because that
reference is rounded. The references are regenerated at 340 digits.

#1463: elreal's SpecificValue extremes were double literals on every host;
they are now the host's, matching numeric_limits, which now compiles for
half and bfloat16 hosts.

cfloat: a saturating cfloat returned inf on overflow when rounding landed on
the inf pattern rather than the NaN pattern; convert() now clamps both.

BEHAVIOUR-CHANGE: cfloat ldexp and frexp return correct results for subnormal inputs, and ldexp rounds underflow and overflow
BEHAVIOUR-CHANGE: saturating cfloat arithmetic that overflows gives maxpos/maxneg instead of inf
BEHAVIOUR-CHANGE: elreal products and quotients keep bits they dr... (continued)

48 of 48 new or added lines in 8 files covered. (100.0%)

9 existing lines in 2 files now uncovered.

44917 of 52281 relevant lines covered (85.91%)

8932681.63 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
87.57
-0.65% include/sw/universal/verification/cfloat_test_suite.hpp
1
93.86
0.49% include/sw/universal/number/cfloat/cfloat_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 35390754257.1 18 Sep 2026 08:51PM UTC 673
85.91
GitHub Action Run
Source Files on build 35390754257
  • Tree
  • List 673
  • Changed 10
  • Source Changed 8
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35390754257
  • da104173 on github
  • Prev Build on main (#35364986399)
  • Next Build on main (#35406798454)
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