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

clingo: Add support for propagator undo mode. #87

Merged
merged 2 commits into from
Mar 7, 2023
Merged

Conversation

BenKaufmann
Copy link
Contributor

  • Add support for new clingo propagator undo mode "Always". If set, AbstractPropagator::undo() is called for all decision levels L on which AbstractPropagator::check() was called even if no watched literal was assigned on L.

  • NOTE: For now, undo mode "Always" does not distinguish "Total" from "Fixpoint" checks.

@rkaminsk Please have a look and let me know whether you think this would work for your use case(s).

* Add support for new clingo propagator undo mode "Always". If set,
  AbstractPropagator::undo() is called for all decision levels L on
  which AbstractPropagator::check() was called even if no watched
  literal was assigned on L.

* NOTE: For now, undo mode "Always" does not distinguish "Total" from
  "Fixpoint" checks.
@BenKaufmann BenKaufmann requested a review from rkaminsk February 18, 2023 15:38
@rkaminsk
Copy link
Member

Thanks, I'll have a look later.

@rkaminsk
Copy link
Member

I expose this functionality via the API as in this PR: potassco/clingo#409. I decided to have two functions to not break backward compatibility.

* Replace default argument "undoMode" of enableClingoPropagatorCheck()
  with separate function.
Copy link
Member

@rkaminsk rkaminsk left a comment

Choose a reason for hiding this comment

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

Looks all good to me!

@BenKaufmann BenKaufmann merged commit 43863dd into dev Mar 7, 2023
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.

2 participants