-
Notifications
You must be signed in to change notification settings - Fork 234
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Update the core of SMT Circuit class (#5096)
This pr massively updates the Circuit class and does a little refactoring to corresponding c++ files ### circuit_schema Moved CircuitSchema structure and the corresponding function to the separate file Fixed the `read_from_file` function. ### subcircuits These files will contain calls to the circuitbuilder to get the basic constraints for native operations(like +, ^ for uints). They will be used to relax the constraint system when working with Integers or BitVectors ### Circuit and standard circuit builder - New member of CircuitSchema and Circuit: real_variable_index. Previously all the variables(even copied ones) were passed into solver and it lead to unreliable results. Won't happen anymore. - New member of Circuit: variable_names_inverse. Helps to identify existing named variables - `add_gates()` method now renamed to `prepare_gates()` and behaves differently. Going to include optimizations from subcircuits. - New function `unique_witness` - Previous `unique_witness` was renamed to `unique_witness_ext` since it's the extended version of the new one. It has more flexible inputs. --------- Co-authored-by: Innokentii Sennovskii <isennovskiy@gmail.com>
- Loading branch information
Showing
10 changed files
with
451 additions
and
180 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.