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

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

Build:
Build:
LAST BUILD BRANCH: ci/install-timeouts
DEFAULT BRANCH: master
Ran 09 Oct 2026 01:01PM UTC
Jobs 1
Files 694
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

09 Oct 2026 12:16PM UTC coverage: 86.359% (+0.01%) from 86.349%
37928965054

push

github

web-flow
feat(utility): precision-vs-magnitude profiles and the DSP type comparison (#1650)

* feat(utility): precision-vs-magnitude profiles and the DSP type comparison

precision_profile_of<T> computes Gustafson's decimals of accuracy,
-log10(ulp / (2|x|)), and the fraction bits log2(|x| / ulp), at every
magnitude of any Universal type or native float or integer type.
- Types of up to 16 bits are exhaustive: every encoding is decoded with
  setbits and the positive values are sorted, so the next encoding is
  the next value whatever the encoding order (lns's ++ is not monotone
  across its exponent sign).
- Wider types are sampled per binade, with the spacing from ++ or
  nextafter, or from below where ++ does not land above x.
- write_precision_csv writes one CSV per type, and
  print_precision_table gives the text view for terminals and CI.
- Only the worst case is computed: averaged over an ulp, the curve is
  shifted up by exactly log10(2) and has the same shape.

applications/mixed-precision/dsp/precision_profiles.cpp compares int,
fixed-point, float, lns and bposit at 16 and 32 bits for DSP and FFT
pipelines: the signal band [0.5, 1), small coefficients at 2^-15, and
FFT growth to 2^10. With an output directory it also writes the CSVs.
- The DSP-sized bposit<16,5,2> (range 2^+-20) beats fp16 in the band,
  3.61 against 3.31 decimals, never has fewer than 8 fraction bits, and
  covers 4096-point FFT growth.
- At 32 bits bposit<32,5,2> beats float in the band, 8.43 against 7.22,
  with a 24-bit floor.
- The standard bposit<16,6,5> trails fp16 in the band.
- Q15 is the most precise in the band but has no headroom and one bit
  left at 2^-15.
- bposit<16,3,1> spans only 2^+-6.

tools/notebooks/plot_precision_profiles.py overlays the CSVs (matplotlib).
--dsp shades the signal band, marks FFT growth and adds an SQNR axis.

Tests (static/utility/test_precision_profile.cpp):
- exhaustive profiles of six 8-bit types against an independent decode;
- closed forms... (continued)

90 of 107 new or added lines in 1 file covered. (84.11%)

1 existing line in 1 file now uncovered.

47271 of 54738 relevant lines covered (86.36%)

9974799.09 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
84.11
include/sw/universal/utility/precision_profile.hpp

Coverage Regressions

Lines Coverage ∆ File
1
32.04
-0.35% include/sw/universal/verification/test_suite_randoms.hpp
Jobs
ID Job ID Ran Files Coverage
1 37928965054.1 09 Oct 2026 01:01PM UTC 694
86.36
GitHub Action Run
Source Files on build 37928965054
  • Tree
  • List 694
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37928965054
  • 9c8f238b on github
  • Prev Build on main (#37881109786)
  • Next Build on main (#37946807971)
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