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

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

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

05 May 2026 11:21PM UTC coverage: 83.943% (-0.004%) from 83.947%
25407703044

push

github

web-flow
feat(valid): partial constexpr support (API surface) (#821)

* feat(valid): partial constexpr support (API surface)

Promote the valid type's user-facing surface to constexpr / CONSTEXPRESSION.
The valid type is interval arithmetic with posit endpoints; per the issue,
"constexpr coverage is mostly transitive from #718" (posit constexpr).
posit1 is fully constexpr, so the valid promotion is largely annotation.

Promoted (this PR)

  * default constructor (constexpr) and copy / move (constexpr default)
  * native-type ctors / operator= (CONSTEXPRESSION via _assign template)
  * compound arithmetic stubs (+= -= *= /=) -- currently no-ops, marked
    constexpr so the surface lights up at constant evaluation today
  * selectors (isopen, isclosed, isopenlower, isopenupper, getlb, getub)
    constexpr
  * modifiers (clear, setinclusive, setlb, setub, setbits) constexpr
  * friend comparison operators (==, !=, <, <=, >, >=) constexpr -- the
    stub returns are unchanged (false), but the surface is now usable in
    static_assert
  * binary arithmetic free functions (+, -, *, /) constexpr -- compose
    from the compound stubs
  * literal-rhs comparison operators with double CONSTEXPRESSION

Constexpr-callable surface today (gcc + clang, C++20)

  * Default ctor and selectors at constant evaluation
  * clear() at constant evaluation (uses bitblock::reset which is
    constexpr-overridden)
  * Compound arithmetic stubs (+= etc.) and binary free functions
    (+ etc.) at constant evaluation -- they're no-ops so the
    constexpr-ness is a contract lock-in
  * Comparison operators at constant evaluation (stub-false)

Limited at constant evaluation today (transitive, not in scope)

  * setnar / setbits / setinclusive paths through std::bitset::set,
    which is not constexpr until C++23.  Marked constexpr so they will
    light up automatically when the toolchain catches up.
  * Native-type ctors / operator=(int|double|...) -- _assign() builds an
    internal::va... (continued)

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

8 existing lines in 1 file now uncovered.

45870 of 54644 relevant lines covered (83.94%)

6477427.06 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
93.48
-0.48% include/sw/universal/number/cfloat/cfloat_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 25407703044.1 05 May 2026 11:48PM UTC 648
83.94
GitHub Action Run
Source Files on build 25407703044
  • Tree
  • List 648
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25407703044
  • a153493c on github
  • Prev Build on main (#25389104901)
  • Next Build on main (#25409308132)
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