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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 28 Jul 2026 05:27PM 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:55PM UTC coverage: 85.463%. Remained the same
30380499927

push

github

web-flow
feat(traits): add has_fma capability trait + FusedMultiplyAddable concept (#1239)

Generic accumulator / dot-product kernels need to detect or require a fused
multiply-add. Add has_fma<T> / has_fma_v<T> in a new traits/fma_traits.hpp: by SFINAE
it detects whether a type provides a type-PRESERVING fma reachable through the ADL
two-step `using std::fma; fma(a,b,c)`. It resolves true for the native floating-point
types (std::fma) and for every Universal number type that defines a free fma, and false
otherwise -- picked up automatically as each per-type fma lands, no list to maintain.

The trait requires the fma result type to be exactly T, which rejects the std::fma-
via-implicit-conversion fallback that a merely double-convertible type would otherwise
match (that path returns double and would round-trip through binary64 -- not a
single-rounding fma for T).

Adds a C++20 FusedMultiplyAddable concept (= has_fma_v<T>) to constrain kernel
templates. Test (static/utility/test_has_fma_trait.cpp) pins the contract with
static_asserts over natives + posit/cfloat/integer/fixpnt/bfloat16/dd/qd/areal/takum
(true), and int / a double-convertible-no-fma struct (false), and exercises the concept
on a sample a*x + b kernel. Green on gcc + clang.

Resolves #1198
Relates to #1189

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

46895 of 54872 relevant lines covered (85.46%)

6795300.39 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
81.25
-0.22% include/sw/universal/number/posit1/specialized/posit_16_1.hpp
2
90.05
0.0% include/sw/universal/number/posito/posito_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 30380499927.1 28 Jul 2026 05:27PM UTC 644
85.46
GitHub Action Run
Source Files on build 30380499927
  • Tree
  • List 644
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30380499927
  • 6dd2d536 on github
  • Prev Build on main (#30378198335)
  • Next Build on main (#30380503472)
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