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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 28 Jul 2026 01:42PM UTC
Jobs 1
Files 641
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

28 Jul 2026 01:04PM UTC coverage: 85.454% (-0.005%) from 85.459%
30361765360

push

github

web-flow
feat(areal): add fma(a,b,c) with faithful rounding + uncertainty-bit semantics (#1233)

areal (faithful float with an uncertainty bit) had no fma. Add a free
sw::universal::fma(a,b,c) that widens to double, forms a*b + c with std::fma, and
faithfully rounds the result once into areal via the value constructor.

Uncertainty-bit semantics (documented in math_functions.hpp): areal's fraction LSB
is the ubit -- 0 when the value is exact, 1 when the stored value is the truncated
representative of the open interval to the adjacent encoding that contains the true
result. fma is therefore a single faithful rounding of a*b + c into areal: exact
results carry ubit=0, inexact results carry ubit=1 with the true value within one
ulp. For configurations whose significand is narrow enough that a product is exact
in double (2*fbits <= 52) the double intermediate carries the correctly-rounded
a*b + c; std::fma supplies the IEEE special cases (inf*0 -> NaN, inf/NaN propagation).

Test (static/range/areal/math/fma.cpp, new areal math target) validates against an
independent long-double reference (computed off the implementation's double/std::fma
path): exactness (exact results -> ubit=0), faithfulness (|value - true| < ulp with
ubit=0 iff exact) over random operands for areal<16,5> and areal<20,6>, and IEEE
special values. Adds the missing math/ glob to the areal test CMakeLists. Green on
gcc + clang.

Resolves #1194
Relates to #1189

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

2 of 2 new or added lines in 1 file covered. (100.0%)

8 existing lines in 1 file now uncovered.

46856 of 54832 relevant lines covered (85.45%)

6785075.86 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
93.73
-0.47% include/sw/universal/number/cfloat/cfloat_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 30361765360.1 28 Jul 2026 01:42PM UTC 641
85.45
GitHub Action Run
Source Files on build 30361765360
  • Tree
  • List 641
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30361765360
  • 8c1a822e on github
  • Prev Build on main (#30352786874)
  • Next Build on main (#30371151083)
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