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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 16 Aug 2026 01:17PM UTC
Jobs 1
Files 618
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

16 Aug 2026 12:40PM UTC coverage: 85.469% (-0.02%) from 85.484%
31947713322

push

github

web-flow
fix(qd_cascade): replace the sorted multiply with the qd_mul schedule (#1323)

qd_cascade multiplication was ~2 decimal digits behind qd on full-width
operands (1.7e-63 vs 1.6e-65 worst case) and 8x slower. Both came from the
same decision: the old implementation sorted a 32-term expansion (up to 496
compare-and-swap steps) and folded it into 4 components with a carry loop
that discarded the error term of every sub-ulp carry.

multiply_cascades(floatcascade<4>, floatcascade<4>) is now a transliteration
of the classic qd_mul, which needs no sorting at all: a[i]*b[j] contributes at
order eps^(i+j), so products come out in decreasing significance by
construction. renorm5() closes the five-term accumulation.

Two smaller pieces came with it: multiply_cascade_by_double(), without which
fixing multiplication would have made division 23% SLOWER (the initial
quotient estimate is a one-component cascade); and a non-finite guard, since
two_prod(inf, x) is NaN and the old multiply turned inf * 3 into a NaN.

Multiplication now matches qd bit for bit against an exact decimal oracle,
worst and median. Measured: multiply 581 -> 82 nsec/op, exp 26036 -> 6642,
log 75321 -> 21814, sqrt residual 15 -> 8.6 ulps.

Closes #1322.

130 of 131 new or added lines in 1 file covered. (99.24%)

29 existing lines in 3 files now uncovered.

42666 of 49920 relevant lines covered (85.47%)

7253758.44 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
83.6
0.6% include/sw/universal/internal/floatcascade/floatcascade.hpp

Coverage Regressions

Lines Coverage ∆ File
10
83.6
0.6% include/sw/universal/internal/floatcascade/floatcascade.hpp
10
31.43
-3.57% include/sw/universal/verification/test_suite_randoms.hpp
9
74.78
-3.98% internal/floatcascade/arithmetic/multiplication_precision.cpp
Jobs
ID Job ID Ran Files Coverage
1 31947713322.1 16 Aug 2026 01:17PM UTC 618
85.47
GitHub Action Run
Source Files on build 31947713322
  • Tree
  • List 618
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31947713322
  • ec6d33da on github
  • Prev Build on main (#31918528977)
  • Next Build on main (#31953293259)
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