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

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

Build:
Build:
LAST BUILD BRANCH: fix/issue-1002-ereal-highprec-constants
DEFAULT BRANCH: master
Ran 25 Apr 2026 11:09PM UTC
Jobs 1
Files 633
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

25 Apr 2026 10:40PM UTC coverage: 84.317% (-0.02%) from 84.337%
24942394888

push

github

web-flow
feat(fixpnt): full constexpr arithmetic, comparison, shifts, conversions (#761)

* feat(fixpnt): full constexpr arithmetic, comparison, shifts, conversions

Promotes fixpnt<nbits, rbits, arithmetic, BlockType> to fully constexpr
across all user-facing operators. Joins integer (#720), posit (#718),
cfloat (#719), and bfloat16 (#725) as a fully constexpr-compliant
Universal type.

Construction from native int and from SpecificValue was already
constexpr. This PR completes the surface using the blockbinary mul/div
constexpr foundation that just landed in #759/PR #760.

fixpnt_impl.hpp changes:
  - to_signed, to_unsigned, to_native: constexpr (TargetFloat path uses
    only multiplies and bit-test, constexpr-clean per C++20)
  - bits() accessor: constexpr (required by Saturating-arithmetic
    operators that call maxpos.bits())
  - Cross-template copy ctor and assignment, move assignment: constexpr
  - All compound assignments (+=, -=, *=, /=, %=, <<=, >>=): constexpr
  - operator/= std::cerr div-by-zero diagnostic gated behind
    !is_constant_evaluated; defined-behavior return paths preserved
    (Modulo: setzero; Saturate: clamp to maxpos/maxneg by sign)
  - All 114 free comparison operators (fixpnt-fixpnt + ~108 mixed
    overloads with int/long/long long/unsigned/float/double/long double
    on both sides): constexpr
  - All 99 free arithmetic operators (binary + and shifts + 60 mixed
    overloads): constexpr
  - abs, onesComplement, twosComplement free helpers: constexpr (with
    matching forward-decl updates in fixpnt_fwd.hpp)
  - friend bool operator==/< declarations match constexpr signatures

fixpnt_fwd.hpp changes:
  - abs, onesComplement, twosComplement forward declarations gain
    constexpr keyword to match implementations

static/fixpnt/binary/api/constexpr.cpp:
  - Added "constexpr arithmetic + comparison (issue #721)" section after
    the existing pi-printing tests. Covers:
      - Acceptance form: Q16.16 2.5 * 1.5 = 3.75 raw bits 0x00... (continued)

109 of 112 new or added lines in 1 file covered. (97.32%)

11 existing lines in 2 files now uncovered.

45009 of 53381 relevant lines covered (84.32%)

6336302.91 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
92.41
-0.15% include/sw/universal/number/fixpnt/fixpnt_impl.hpp

Coverage Regressions

Lines Coverage ∆ File
8
93.48
-0.48% include/sw/universal/number/cfloat/cfloat_impl.hpp
3
80.8
-0.45% include/sw/universal/number/posit1/specialized/posit_16_1.hpp
Jobs
ID Job ID Ran Files Coverage
1 24942394888.1 25 Apr 2026 11:09PM UTC 633
84.32
GitHub Action Run
Source Files on build 24942394888
  • Tree
  • List 633
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24942394888
  • 939db92a on github
  • Prev Build on main (#24939331552)
  • Next Build on main (#24944226215)
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