Pratyush Mishra
b6e7e94521
Introduce `mul_by_inverse_unchecked`, and use it ( #75 )
3 years ago
Pratyush Mishra
65faa3e699
`impl ToBytesGadget for Vec<UInt8>` ( #76 )
3 years ago
Weikeng Chen
6e59e02a1b
Release v0.3.1 ( #73 )
3 years ago
Weikeng Chen
47ddbaa411
Enforce `mul_by_inverse` ( #70 )
* proposal to fix mul_by_inverse
* update CHANGELOG
* rollback to a secure impl
* update changelog
3 years ago
Weikeng Chen
1ad210462c
Implement the `Sum` trait for `FpVar` ( #71 )
* impl sum for fpvar
* fmt
* grammar
* update the CHANGELOG
3 years ago
Weikeng Chen
2b8e020aad
Release v0.3.0 ( #66 )
* Release v0.3.0
* fix the pr template
3 years ago
Tom Shen
c3a99ac3f6
Let `Radix2Domain::offset` to be `FpVar` instead of `F` ( #65 )
* 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>
3 years ago
Tom Shen
989f579ca8
Add Univariate Domain, Vanishing Polynomial, Lagrange Interpolation ( #53 )
* add domain and vp
* add lagrange interpolator
* add query position to coset
* nostd
* add test assertion
* fmt
* fix test
* add Add and Sub arithmetic
* add Add and Sub arithmetic
* add unit test for mul/div arithmetic
* add more doc for clarification
* add test for native interpolate
* add test for vp constraints
* fix lagrange interpolate bug
* comment cleanup + fmt
* add CHANGELOG
* fix a compile error
* Update CHANGELOG.md
* Update CHANGELOG.md
* fix comment
* doc fix
* doc update 2
* doc update 3
* pub lagrange_interpolator
* doc fix
* rename `EvaluationDomain` to `Radix2Domain`
* tweak
* tweak
Co-authored-by: weikeng <w.k@berkeley.edu>
3 years ago
Dev Ojha
5debc6f8f1
Rename AllocatedBit to AllocatedBool ( #60 )
* Rename AllocatedBit to AllocatedBool
* Update Changelog
* Fix independent fmt issues
3 years ago
ValarDragon
2348acf3a1
Update changelog for release
3 years ago
Pratyush Mishra
73ac661ddf
Update CHANGELOG
3 years ago
Tom Shen
09f3613aac
Add DensePolynomialVar ( #50 )
* add folder structures similar to `ark-poly`
* add evaluate impl for DensePolynomialVar
* add tests
* fix no-std
* use ark_std::rand instead of SeedableRng
* add changelog
Co-authored-by: Weikeng Chen <w.k@berkeley.edu>
3 years ago
Dev Ojha
1f83ffdff4
Switch to panic='abort' for safety across FFI boundaries ( #47 )
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
3 years ago
Tom Shen
05fee34686
Add Mux gadget ( #48 )
3 years ago
Pratyush Mishra
d9e0200433
Improve handling of constant bits in scalar mul for SW curves ( #43 )
* 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>
3 years ago
Pratyush Mishra
5e4114b19c
Better scalar multiplication for Short Weierstrass curves ( #40 )
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
3 years ago
Dev Ojha
f88d7c6ea3
Make `mul_by_inverse` use one constraint ( #42 )
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
3 years ago
Dev Ojha
bdc9fbbf30
Add changelog and .github issue templates ( #39 )
* Add changelog and .github issue templates
3 years ago