* Bug Fix in `domain` and API changes
Currently, `domain.query_position_to_coset` is not consistent native code in `ark-ldt`. This commit does the following changes:
* change `query_position_to_coset` to `query_position_to_coset_elements`, and make the return result consistent with native code
* add function `query_position_to_coset` to just return generator and offset instead of coset elements. This is useful when evaluating vanishing poly.
* minor bug fix
* update CHANGELOG
* `query_position_to_coset_elements` use `query_position_to_coset`
* Update CHANGELOG.md
Co-authored-by: Weikeng Chen <w.k@berkeley.edu>
* restructure code
* done
* add changelog
* add the changelog to mark this as a breaking change
* add the CHANGELOG
* tweak
* add `EqGadget`
* rename generate_interpolate_cache to generate_interpolation_cache
* address the comment
Co-authored-by: weikeng <w.k@berkeley.edu>
* We add a double_and_add method that computes 2 * self + other more
efficiently than just doubling + addition; this is not used anywhere
yet, but I am planning on fiddling with it to see if we can leverage
it somehow. (See zcash/zcash#3924 for details)
* We handle constant scalars better:
* We skip the most-significant constant zeroes to avoid unnecessary
doubling
* When intermediate bits of the scalar are constants, instead of
conditionally adding, we directly use the value of the bit to
decide whether to add or not.
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: weikeng <w.k@berkeley.edu>