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

stillwater-sc / universal / 30000194382 / 1
85%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 23 Jul 2026 11:26AM UTC
Files 703
Run time 16s
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

23 Jul 2026 10:40AM UTC coverage: 84.744% (+0.01%) from 84.731%
30000194382.1

push

github

web-flow
feat(elreal): round_to<cfloat<N,E>> -- Phase 8 real-FP conversion for arbitrary cfloat targets (#1182) (#1184)

Adds round_to<cfloat<nbits,es,bt,hasSubnormals,hasMaxExpValues,isSaturating>>(ZBCL<FpType>, RoundingMode)
as the fifth Phase 8 target, following the four native-double-expansion targets
shipped in #932/PR#1181 (double, float, dd, qd).

Unlike the native targets, a cfloat has a finite es-bit exponent range, so the
conversion classifies the exact value as normal, subnormal, overflow, or
flush-to-zero and rounds the significand at the correct absolute bit position
for that region under all four IEEE rounding modes:
  - the mode-aware guard/round/sticky core is factored out of round_to_bits into
    round_expansion_at(blk, cut, mode, moreBelow), shared by both paths;
  - blocks are widened RELATIVE to the leading exponent so working doubles stay
    near 1.0 -- this dodges double overflow/underflow for wide-exponent configs
    (e.g. cfloat<64,11> whose range exceeds double's);
  - the wide block exponent guards extreme overflow/underflow before any int cast;
  - the signed-non-overlapping-tail borrow is detected to recover the true binade;
  - bit construction mirrors cfloat's own convert(): biased exponent field,
    carry-into-hidden-bit binade bump, subnormal (exp field 0) vs smallest-normal
    promotion, no-subnormals flush-to-minpos, and the all-ones-exponent -> inf /
    saturating maxpos/maxneg projection.

Validated against an independent einteger-dyadic oracle across cfloat<32,8>,
cfloat<64,11>, cfloat<16,5>, a narrow cfloat<11,5>, and no-subnormals /
no-max-exp configs, all four modes, plus exhaustive lossless roundtrip over every
finite encoding of the narrow configs, idempotence, and overflow/underflow
boundaries. All green on gcc and clang.

Relates to #923 (epic). Follow-up to #932 (Phase 8).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

50082 of 59098 relevant lines covered (84.74%)

7012078.72 hits per line

Source Files on job 30000194382.1
  • Tree
  • List 703
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 30000194382
  • e43cee81 on github
  • Prev Job for on main (#29919328064.1)
  • Next Job for on main (#30029179195.1)
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