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

bemanproject / big_int / 37934792153
92%

Build:
DEFAULT BRANCH: main
Ran 09 Oct 2026 01:32PM UTC
Jobs 1
Files 31
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

09 Oct 2026 01:08PM UTC coverage: 91.989% (+0.3%) from 91.708%
37934792153

push

github

web-flow
Implement Item 1 from `gmp_gap_analysis.md` (#403)

* Fix stale inline-tail limbs and base 8/32 from_chars into a reused destination

set_zero, shift_right, divmod_in_place_short and the move-assign steal path left
stale limbs above the limb count, which inplace_to_bit_uint reads when the
inline capacity is larger than one limb. Base 8/32 from_chars OR-ed digit
blocks into stale limbs of a reused heap destination. Adds the
storage_for_overwrite and clear_inline_tail helpers and inline_tail tests.

* Add tail-aware add/sub and copying shift span primitives

add_n_tail, sub_n_tail, lshift_copy and rshift_copy, with tests. They are not
wired into basic_big_int yet.

* Steal the heap buffer on move-assign and free with the allocating allocator

assign_value now steals an rvalue heap source whenever the destination's
allocator can free it, whatever capacity the destination holds. A propagating
allocator that compares unequal no longer lets the destination keep a buffer it
cannot free. Tests cover pmr, stateful propagating allocators and ownership.

* Add divide_takes_schoolbook gate helper and allow quotient to alias dividend in divide_unsigned

* Multiply dispatchers no longer need a pre-zeroed result; add multiply_basecase_runtime header shortcut

* Add dispatch_contract tests: poisoned result spans across multiply and divide dispatchers

* Single-pass add/sub front ends: add_in_place and add_into use add_n_tail/sub_n_tail

add_in_place adds or subtracts in place with the tail-aware primitives, stops
touching limbs once the carry or borrow dies, grows only for the carry limb or
when the other operand is longer, and sets the sign and count once. add_into
writes a fresh result through storage_for_overwrite with direct stores and no
zero scan or one-step trim. Integer operands now go straight through add_into.
Differential tests cover operand sizes around the inline capacity, carry and
borrow ripples, aliasing and constant evaluation.

* Drop casts GCC flag... (continued)

608 of 622 new or added lines in 6 files covered. (97.75%)

45 existing lines in 2 files now uncovered.

6224 of 6766 relevant lines covered (91.99%)

8107503.47 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
95.03
0.65% include/beman/big_int/basic_big_int.hpp
6
93.74
0.8% include/beman/big_int/detail/span_ops.hpp

Coverage Regressions

Lines Coverage ∆ File
43
95.03
0.65% include/beman/big_int/basic_big_int.hpp
2
85.89
0.66% include/beman/big_int/detail/mul_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 37934792153.1 09 Oct 2026 01:32PM UTC 31
91.99
GitHub Action Run
Source Files on build 37934792153
  • Tree
  • List 31
  • Changed 7
  • Source Changed 7
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37934792153
  • 642133a1 on github
  • Prev Build on main (#37814451453)
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