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

stillwater-sc / universal / 32313539554
85%
master: 84%

Build:
Build:
LAST BUILD BRANCH: refactor/issue-1334-qd-split
DEFAULT BRANCH: master
Ran 20 Aug 2026 12:08AM UTC
Jobs 1
Files 620
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

19 Aug 2026 11:30PM UTC coverage: 85.399% (+0.04%) from 85.363%
32313539554

push

github

web-flow
feat(tools): sweep the adaptive characterization over host FpType (#1357)

* feat(tools): sweep the adaptive characterization over host FpType

#1176: characterize.cpp fixed the elreal host to double, so its CSV carried an
FpType column that was always "double" and the accuracy/time curve it reported
was one host's curve presented as the whole picture. elreal is templated on the
host block type and that curve moves with it -- a narrower host carries fewer
significand bits per block, so it needs more blocks for the same accuracy, which
shifts both the knee and the elreal-vs-ereal crossover.

The elreal sweeps are now templated on FpType and run over {double, float,
bfloat16}; the FpType column is populated from the host actually used. ereal's
limbs are always double, so only the elreal side varies.

The trade-off the issue asked for is now visible per function. At depth 3:

    host       sqrt@2              exp@1
    double     49 digits, 0.19 ms  49 digits, 4.95 ms
    float      23 digits, 0.10 ms  23 digits, 1.02 ms
    bfloat16    6 digits, 0.08 ms   8 digits, 0.36 ms

The narrow hosts are cheaper per depth step and cap out far lower, which is the
same shape the block-shape study measures for the constants, now measured across
the whole math suite rather than three generators.

summary() had to become host-aware rather than gaining a column. It grouped rows
by type alone, so with three hosts in g_rows it would have pooled them and
reported a saturation point and knee belonging to none of them. It now groups by
(type, host) and the elreal-vs-ereal head-to-head picks whichever host is
cheapest for each function, naming it.

The issue anticipated narrow-host edge cases. All nine functions do compile and
run on all three hosts, so the risk did not materialise as a build failure -- but
each cell is still guarded: a host that runs out of exponent range ends that
function's sweep with a note on stderr instead of aborting the run. A missing
cell is itself... (continued)

43064 of 50427 relevant lines covered (85.4%)

6898254.81 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32313539554.1 20 Aug 2026 12:08AM UTC 620
85.4
GitHub Action Run
Source Files on build 32313539554
  • Tree
  • List 620
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32313539554
  • 219ab9c3 on github
  • Prev Build on main (#32310046653)
  • Next Build on main (#32325826449)
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