Improve constraint solving #971
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "improve_constraint_solving"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Created by: hanssv
Fingers itched... This solves one actual problem (on Ceres branch once rebased) where three constraints depended on each other and the current implementation only made two iterations.
The rewrite should be more general and easier to further change if necessary. Would be nice to separate solving and error reporting further - but lets save that for another rainy day.
This PR is supported by the Æternity Crypto Foundation
Created by: radrow
I guess this is when we did not improve anything. Why is it
ok
then?Created by: radrow
Review: Commented
It is hard for me to assess what exactly has changed since many functions have been moved around. Could you add some tests that show the improvement?
Also, it's a great opportunity for adding a bit more comments around...
Created by: hanssv
Feel free to rename it to
done
or something it doesn't really matter. This is the terminating case in the fix-point recursion.Created by: hanssv
@radrow The general problem addressed was the lack of a proper fix-point iteration - this shows up when there are constraints that depend on each other and the order in which you try suddenly matters. It seemed like you or @ghallak had already noticed this -- and "solved" it by adding a second copy of all constraints to the solver.
I could have solved the current issue by adding a third copy of the constraints, but instead opted to implement the iteration that checked for progress more generally. And yes there could have been more comments, but it could also have been done properly the first time.
Created by: radrow
Review: Approved
Created by: UlfNorell
Review: Approved
Merged by: hanssv at 2023-08-23 07:43:49 UTC