This pull request adds the feature to decompress and parse gates prior to the proving process. The reason why this can be useful is described in the issue.
The interface of Parameters has been extended with the following methods:
precompute - this method decompress and parse gates
precompute_memory_size - this method evaluates the required memory size (in bytes) for precomputed data
get_witness_rcs_precomputed - this method creates a witness that utilizes pre-parsed gates during the proving process
The function prove_precomputed has been added to use pre-parsed gates during the proving process.
GateSource, GateIterator, GateWrapper have been implemented to support both approaches during the proving process without unnecessary clones.
This pull request adds the feature to decompress and parse gates prior to the proving process. The reason why this can be useful is described in the issue.
The interface of
Parameters
has been extended with the following methods:precompute
- this method decompress and parse gatesprecompute_memory_size
- this method evaluates the required memory size (in bytes) for precomputed dataget_witness_rcs_precomputed
- this method creates a witness that utilizes pre-parsed gates during the proving processThe function
prove_precomputed
has been added to use pre-parsed gates during the proving process.GateSource
,GateIterator
,GateWrapper
have been implemented to support both approaches during the proving process without unnecessary clones.