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

Prepare branching #2259

Closed
wants to merge 8 commits into from
Closed

Prepare branching #2259

wants to merge 8 commits into from

Conversation

chriseth
Copy link
Member

ref. #2237

Implements simple branching by cloning and setting a range constraint.

In order to make this work, we need the following:

We need to propagate constant values across identities, including completed ones and submachine calls. Concerning the former: Since we do not solve for known variables, we need to change the evaluation such that variables that are known but not concrete are turned into unknown variables. This should be easy by extracting the evaluator into a new component that has a flag how to deal with the variables.

For the lookups, we need to perform them in a way that they do not create a new multiplicity entry. Also we need an interface that either returns range constraints or concrete values. We might just do this for the fixed lookup for now, since we do not expect other machines to return range constraints for concrete inputs.

If we do not want to drive this from outside with another loop, we could also store the identities to consider inside witgen_inference. This would mean that they are cloned with a branch, but might not be too bad since the expressions are just references.

@chriseth chriseth changed the base branch from main to bisect December 19, 2024 23:18
@chriseth chriseth marked this pull request as draft December 20, 2024 09:41
Base automatically changed from bisect to main December 20, 2024 11:22
@chriseth chriseth closed this Jan 2, 2025
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.

1 participant