Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pack integer arithmetic comparisons in IntCmpRule #1545

Merged
merged 6 commits into from
Mar 25, 2022
Merged

Conversation

thpani
Copy link
Collaborator

@thpani thpani commented Mar 23, 2022

Closes #1342

Pack arithmetic expressions in IntCmpRule and EqRule. Translate TLA+ arithmetic comparisons into a single SMT constraint, without introducing intermediate cells.

Uses the same logic for packing arithmetic expressions as #1541, which is refactored into a trait in 835e717.

@thpani thpani marked this pull request as ready for review March 23, 2022 10:36
@thpani thpani requested review from konnov and Kukovec March 23, 2022 10:36
@codecov-commenter
Copy link

codecov-commenter commented Mar 23, 2022

Codecov Report

Merging #1545 (840d543) into unstable (4107967) will increase coverage by 0.02%.
The diff coverage is 96.42%.

❗ Current head 840d543 differs from pull request most recent head feaa9f3. Consider uploading reports for the commit feaa9f3 to get more accurate results

@@             Coverage Diff              @@
##           unstable    #1545      +/-   ##
============================================
+ Coverage     74.97%   75.00%   +0.02%     
============================================
  Files           359      360       +1     
  Lines         11518    11526       +8     
  Branches        550      557       +7     
============================================
+ Hits           8636     8645       +9     
+ Misses         2882     2881       -1     
Impacted Files Coverage Δ
.../forsyte/apalache/tla/bmcmt/rules/IntCmpRule.scala 82.35% <90.00%> (+5.88%) ⬆️
...a/at/forsyte/apalache/tla/bmcmt/rules/EqRule.scala 92.00% <100.00%> (+3.76%) ⬆️
...syte/apalache/tla/bmcmt/rules/IntArithPacker.scala 100.00% <100.00%> (ø)
...orsyte/apalache/tla/bmcmt/rules/IntArithRule.scala 85.71% <100.00%> (-5.60%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4107967...feaa9f3. Read the comment docs.

Copy link
Collaborator

@konnov konnov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@thpani thpani enabled auto-merge (squash) March 24, 2022 13:24
@shonfeder shonfeder closed this Mar 24, 2022
auto-merge was automatically disabled March 24, 2022 16:59

Pull request was closed

@shonfeder shonfeder reopened this Mar 24, 2022
@thpani thpani merged commit 5816353 into unstable Mar 25, 2022
@thpani thpani deleted the th/arithcomp branch March 25, 2022 06:54
This was referenced Mar 28, 2022
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.

[FEATURE] Pack arithmetic operations in a single SMT expression
4 participants