Skip to content

Migrate ChkX operations to Boost int128 - #507

Closed
marron-at-work with Copilot wants to merge 2 commits into
mainfrom
copilot/shift-chkx-support-to-boost
Closed

Migrate ChkX operations to Boost int128#507
marron-at-work with Copilot wants to merge 2 commits into
mainfrom
copilot/shift-chkx-support-to-boost

Conversation

Copilot AI commented Aug 31, 2026

Copy link
Copy Markdown

ChkNat and ChkInt now use Boost’s fixed-width int128_t instead of compiler-specific __int128_t, while retaining existing error and saturation behavior.

  • Runtime representation

    • Replace native 128-bit types across arithmetic, parsing, emission, literals, and string conversion.
    • Add no-exception Boost hooks compatible with the runtime configuration.
  • Behavior preservation

    • Retain npos propagation and overflow saturation.
    • Guard multiplication before evaluating potentially overflowing expressions.
    • Preserve ChkNat underflow and division-by-zero errors.
  • Compiler layouts

    • Update ChkX metadata for Boost’s 32-byte representation.
    • Support copying ChkX-containing generated unions.
  • Coverage

    • Add cases for positive and negative 124-bit saturation.
    • Add coverage for ChkInt values embedded in concept unions.

Copilot AI linked an issue Aug 31, 2026 that may be closed by this pull request
Co-authored-by: marron-at-work <126758004+marron-at-work@users.noreply.github.com>
Copilot AI changed the title [WIP] Shift ChkX operations to use boost int128_t type Migrate ChkX operations to Boost int128 Aug 31, 2026
Copilot AI requested a review from marron-at-work August 31, 2026 15:27
@marron-at-work

Copy link
Copy Markdown
Collaborator

Not willing to pay 4 bytes per ChkX number. Closing this path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Shift ChkX support to boost

2 participants