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

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

Build:
Build:
LAST BUILD BRANCH: losborn_bugfix_elreal_subnormal_blocks_aug26
DEFAULT BRANCH: master
Ran 19 Jul 2026 04:07PM UTC
Jobs 1
Files 697
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

19 Jul 2026 03:22PM UTC coverage: 84.727% (+0.005%) from 84.722%
29692704351

push

github

web-flow
feat(efloat): register efloat for sw::universal::complex + regression test (#1157)

efloat already plugs into the portable sw::universal::complex<T> (the std::complex
replacement for user-defined types) through the type-agnostic library in
<universal/math/complex.hpp> -- complex<efloat> arithmetic and
real/imag/conj/norm/arg/abs work today at efloat's full working precision. This
adds the small per-type binding the other number systems ship:

- efloat/math/complex.hpp: specializes is_universal_number<efloat> (consistency
  with posit/cfloat/lns/dd/qd/...) and re-exposes real/imag/conj for
  complex<efloat>. It deliberately does NOT provide std::complex<efloat> shims:
  std::complex<T> is only defined for float/double/long double (ISO C++ 26.2/2),
  so instantiating it on a UDT is UB. Use sw::universal::complex<efloat>.
- wired into mathlib.hpp.
- elastic/efloat/math/complex.cpp: regression test covering the trait, arithmetic
  exactness, conj/norm/abs, two 512-bit oracle identities (z*conj(z)==|z|^2 and
  (a/b)*b==a agree to < 2^-200), and the transcendentals.

PRECISION CAVEAT (documented in the header): the shared library's complex
transcendentals (exp/log/sqrt/pow/sin/cos/...) pivot through std::complex<double>,
so on efloat they are only ~double-accurate. Arithmetic and the algebraic
accessors are full precision. A full-precision complex transcendental layer on
efloat's own sin/cos/exp is a future enhancement (affects all UDTs, not efloat
specifically).

Resolves #1110

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

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

49678 of 58633 relevant lines covered (84.73%)

7034500.36 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29692704351.1 19 Jul 2026 04:07PM UTC 697
84.73
GitHub Action Run
Source Files on build 29692704351
  • Tree
  • List 697
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29692704351
  • 82aa24f2 on github
  • Prev Build on main (#29689875238)
  • Next Build on main (#29693359164)
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