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

prunedDomains update check #128

Closed
PierreTsr opened this issue May 17, 2021 · 0 comments · Fixed by #140
Closed

prunedDomains update check #128

PierreTsr opened this issue May 17, 2021 · 0 comments · Fixed by #140
Assignees
Labels
enhancement New feature or request

Comments

@PierreTsr
Copy link
Contributor

During the propagate! function, the variable prunedDomains is supposed to store all the domain modifications. However, @ilancoulon warned us that the update isn't entirely reliable yet. As it is a very useful feature, it would be great to ensure that this variable is always properly updated.

@PierreTsr PierreTsr added the enhancement New feature or request label May 17, 2021
@PierreTsr PierreTsr self-assigned this May 17, 2021
PierreTsr added a commit that referenced this issue May 27, 2021
As proposed in #128, this PR brings new features to ensure the correctness of prunedDomains during each propagation. Thus te mains contributions are:

    the struct SetModification to make it possible to track changes in a set domain;
    a proof-read of every constraint to make sure that each domain change is followed by an addToPrunedDomains!;
    a testset dedicated to CPModification, to ensure that each constraint is updating it well.

During this work I encountered a few undetected bugs and made some minor changes:

    missing cases in SetEqualConstant;
    a few display error;
    prevent Absolute to prune values before the beginning of the execution, as this pruning is intractable for the other constraints.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant