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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 28 Jul 2026 05:04PM UTC
Jobs 1
Files 644
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 04:25PM UTC coverage: 85.463%. Remained the same
30378198335

push

github

web-flow
feat(posit1/posito): add a rounded scalar fma overload (#1238)

posit1 and posito's fma returned an UNROUNDED internal::value building block -- a
building block, not a drop-in scalar. Add a public fma overload that returns the
posit/posito type with a SINGLE rounding (exact product-sum via the retained
building block, then one convert()), matching the modern posit fma. The unrounded
variant is retained, renamed to fma_value. Since C++ cannot overload on return type,
the rename is required.

posito latent bug: posito's fma_value decoded its inputs with extract_fraction<>,
which is defined for posit1, not posito -- a type error that was dormant because the
posito fma template was never instantiated. Fixed to use posito's own normalize()
decode path (the same one operator*= uses). (posito's fam has the same dormant
extract_fraction issue; left as-is since it is out of scope for this fma change.)

Tests: static/tapered/posit1/arithmetic/fma_rounded.cpp and
static/tapered/posito/arithmetic/fma.cpp validate the rounded fma against an
independent fused reference (round(std::fmal), exact for small posits): correctly
rounded, single-rounding superiority over the naive two-rounding a*b + c under
cancellation (~29% of random cases differ), and NaR propagation. The existing
posit1 arithmetic/fma.cpp demo still passes (it rounded via assignment). Green on
gcc + clang.

Resolves #1197
Relates to #1189

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

13 of 14 new or added lines in 2 files covered. (92.86%)

16 existing lines in 2 files now uncovered.

46895 of 54872 relevant lines covered (85.46%)

6795257.86 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
90.05
-0.28% include/sw/universal/number/posito/posito_impl.hpp

Coverage Regressions

Lines Coverage ∆ File
11
31.07
-3.93% include/sw/universal/verification/test_suite_randoms.hpp
5
90.05
-0.28% include/sw/universal/number/posito/posito_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 30378198335.1 28 Jul 2026 05:04PM UTC 644
85.46
GitHub Action Run
Source Files on build 30378198335
  • Tree
  • List 644
  • Changed 4
  • Source Changed 2
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30378198335
  • 42f550bf on github
  • Prev Build on main (#30371151083)
  • Next Build on main (#30378191769)
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