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

stillwater-sc / universal / 26587083869
84%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 28 May 2026 04:51PM UTC
Jobs 1
Files 661
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 May 2026 04:15PM UTC coverage: 84.006% (+0.007%) from 83.999%
26587083869

push

github

web-flow
fix(cfloat): native trunc/floor/ceil/round (correct for >53-bit significands) (#1028)

trunc/round/floor/ceil computed `std::X(double(x))`, which is wrong for cfloats
with more than 53 significand bits: any integer above 2^53 loses its low bits in
the double conversion, so e.g. floor(2^60+8) did not return 2^60+8 (#1026).

Now implemented directly on the cfloat encoding:
- trunc: clear the fraction bits below 2^0 per the unbiased scale (scale>=fbits ->
  integral; subnormal or scale<0 -> signed zero). Pure bit op, no arithmetic.
- floor/ceil: trunc, then -/+ 1 for the negative/positive non-integral case.
- round: ties away from zero, decided from the 2^-1 fraction bit for |x|>=1 and
  from 2|x|>=1 for |x|<1 -- never constructing 0.5, which some low-range cfloats
  (e.g. cfloat<8,2>) cannot represent.

Test (static/float/cfloat/math/truncate.cpp): added exhaustive trunc/round
coverage (was floor/ceil only), a wide-precision verifier on cfloat<128,15>
(2^60+8 +/- exact fractions, both signs, vs cfloat-constructed references -- no
double), and fixed the result accumulation (`=` -> `+=`).

Verified gcc + clang: exhaustive cfloat<8,2>/half/bfloat_t match the
representable std reference; wide cfloat<128,15> exact; cfloat_fractional (fmod)
still passes.

Resolves #1026

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

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

2 existing lines in 1 file now uncovered.

46923 of 55857 relevant lines covered (84.01%)

5780980.48 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
89.78
-0.55% include/sw/universal/number/posito/posito_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 26587083869.1 28 May 2026 04:51PM UTC 661
84.01
GitHub Action Run
Source Files on build 26587083869
  • Tree
  • List 661
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26587083869
  • c04efcec on github
  • Prev Build on main (#26584402568)
  • Next Build on main (#26589976912)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc