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

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

Build:
Build:
LAST BUILD BRANCH: fix/issue-1002-ereal-highprec-constants
DEFAULT BRANCH: master
Ran 17 May 2026 11:17AM UTC
Jobs 1
Files 652
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

17 May 2026 10:49AM UTC coverage: 84.022% (-0.06%) from 84.079%
25988762611

push

github

web-flow
feat: API parity / implementation for decimal string parse in specialized FP (Phase D of #835) (#850)

Phase D wraps up the remaining specialized FP family. Four types
covered, one (hfloat) explicitly deferred to a tracking issue.

posit1, posito (older posit revisions sharing posit_parse.hpp style):
  - Add nan / inf / infinity token detection (case-insensitive,
    optional sign). All non-finite spellings route to setnar() since
    posit has only one NaR encoding -- same convention as the
    current posit B2b path.
  - Fix latent bug in the stod fallback: was returning bSuccess=true
    even when istringstream extraction failed. Now properly checks
    ss.fail() and trailing-junk via !ss.eof().
  - operator>>: guard extraction (return if istr >> txt fails), set
    failbit on parse failure (alongside the existing cerr diagnostic).

unum (Type I):
  - Add nan / inf / infinity token detection. unum has no Inf
    encoding, so inf tokens collapse to NaN -- matching the existing
    operator=(double) behavior that also maps +/-inf to NaN.
  - operator>>: extraction guard + failbit, matching the B2c pattern.

bfloat16:
  - Implement parse(). Previous body was a stub that returned false
    and set value to zero, ignoring input. New implementation:
      * nan / inf / infinity token routing to setnan / setinf
      * stod fallback for decimal (bfloat16 has only 7 explicit
        mantissa bits; double precision is way more than enough)
      * ss.fail() and !ss.eof() guards reject malformed input
  - operator>>: extraction guard + failbit.

Tests (4 new files, ReportTestSuite pattern):
  - static/tapered/posit1/conversion/string_parse.cpp
  - static/tapered/posito/conversion/string_parse.cpp
  - static/float/bfloat16/conversion/string_parse.cpp
  - elastic/unum/string_parse.cpp

Each covers: canonical decimals, nan/inf token routing, operator>>
failbit, malformed-input rejection.

hfloat is NOT included -- its parse() is a stub like bfloat16's was,
but ... (continued)

66 of 70 new or added lines in 6 files covered. (94.29%)

10 existing lines in 1 file now uncovered.

46481 of 55320 relevant lines covered (84.02%)

6415245.07 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
87.03
1.21% include/sw/universal/number/bfloat16/bfloat16_impl.hpp
1
88.46
0.0% include/sw/universal/number/posit1/posit_impl.hpp
1
90.33
-0.04% include/sw/universal/number/posito/posito_impl.hpp
1
93.58
0.27% include/sw/universal/number/unum/unum_impl.hpp

Coverage Regressions

Lines Coverage ∆ File
10
31.43
-3.57% include/sw/universal/verification/test_suite_randoms.hpp
Jobs
ID Job ID Ran Files Coverage
1 25988762611.1 17 May 2026 11:17AM UTC 652
84.02
GitHub Action Run
Source Files on build 25988762611
  • Tree
  • List 652
  • Changed 6
  • Source Changed 4
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25988762611
  • 5cf2df4e on github
  • Prev Build on main (#25980502833)
  • Next Build on main (#25990604877)
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