Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements the conversion to multiplicities for Binius counts as described in Section 4.4 of the Binius paper. Does not wire it into the offline memory checking system yet.
Runs a similar strategy to halo2curves::PrimeField and our fork of Arkworks to precompute some tables to reduce the cost of calls to
from_count_index
. Unfortunately does not move all the pre-computation work to compile time as the Binius library does not currently have aconst fn
impl. If this does get implemented we can revert back to1241739007964a4e2c2ba71fc07e76082a0ca925
which is substantially simpler.Thaler's optimization strategy:
2^32 may be overkill and we would get significant speedups on the initialization time of tables by reducing size.