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

kaidokert / fixed-bigint-rs / 30173254267 / 1
97%
main: 97%

Build:
Build:
LAST BUILD BRANCH: agent/use-shared-hardware-workflow
DEFAULT BRANCH: main
Ran 25 Jul 2026 08:17PM UTC
Files 62
Run time 1s
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 Jul 2026 08:16PM UTC coverage: 97.168% (-0.006%) from 97.174%
30173254267.1

Pull #189

github

kaidokert
Sign-extend PrimBits/PrimInt::signed_shr on both carriers (#156)

signed_shr did a logical right shift on both FixedUInt and HeaplessBigInt,
violating the PrimBits/PrimInt contract that it fill the vacated top bits from
the carrier's MSB — `(self as signed) >> n`. It was kept logical (and
consistent between carriers) in #154; this corrects it on both together.

Implement the arithmetic shift as `(self >> n) | (sign_full ^ (sign_full >> n))`
where `sign_full` is the MSB spread to a full-width mask. The spread uses the
`bit * MAX` trick, so the body is branchless on the value — a `Ct` carrier
never branches on the sign — and both shifts route through the width-correct
`>>` operator (barrel on `Ct`, width-preserving on heapless). A non-negative
value shifts identically to `unsigned_shr`; unsigned/logical shift APIs are
untouched.

- FixedUInt: rewrite `PrimBits::signed_shr` (const-callable, P-generic) and
  point `num_traits::PrimInt::signed_shr` at it instead of `unsigned_shr`.
- Heapless: rewrite `PrimBits::signed_shr` (width-preserving); its `PrimInt`
  bridge already delegates to PrimBits, so it inherits the fix.
- Tests: assert the acceptance criterion (0x8000_0000 >> 1 == 0xC000_0000,
  >> 31 == 0xFFFF_FFFF) across widths in the shared carrier harnesses so
  fixed/heapless parity is pinned, and update the nightly const-eval proof.
Pull Request #189: Sign-extend signed_shr on both carriers (#156)

6314 of 6498 relevant lines covered (97.17%)

7019.39 hits per line

Source Files on job 30173254267.1
  • Tree
  • List 62
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 30173254267
  • 187190b3 on github
  • Prev Job for on ct/156-signed-shr-sign-extension (#30171297169.1)
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