Ramana Kumar
2628661be5
Start on SWIG for minimal interface
2022-09-29 19:36:17 +01:00
Ramana Kumar
24212039b2
Add conversions to/from uint64s to the interface
2022-09-29 19:32:23 +01:00
Ramana Kumar
8a072d68ba
Add alloc_polynomial and free_polynomial
2022-09-27 22:05:52 +01:00
Ramana Kumar
9b46788ac7
Finish adding implementation, simplify Makefile
2022-09-27 21:50:48 +01:00
Ramana Kumar
265e60c2db
Implement a few more functions
2022-09-27 18:36:45 +01:00
Ramana Kumar
a9ef9a893a
Add a few more implementations
2022-09-27 18:25:43 +01:00
Ramana Kumar
4488ad3269
Start on a consolidated 4844-only copy of the code
2022-09-27 18:11:37 +01:00
Ramana Kumar
96e3fc9bd8
Add blob_to_kzg_commitment to the 4844 interface
2022-09-27 13:51:08 +01:00
Ramana Kumar
48903d567f
Use bit-reversal permutation
2022-09-27 13:37:46 +01:00
Ramana Kumar
efef81bdf1
Fix segfault
2022-09-21 08:08:02 +01:00
Ramana Kumar
7e1dc4ddef
Add test of load_trusted_setup_test
...
not working yet: segfaults after the test runs
2022-09-20 23:43:38 +01:00
Dankrad Feist
2958210f67
Trusted setup for testing
2022-09-20 23:04:18 +01:00
Ramana Kumar
e18c68c64c
Add possible implementation of load_trusted_setup (untested)
2022-09-20 21:58:36 +01:00
Ramana Kumar
a7eea8b533
Start on a 4844 minimal interface
...
The object files to implement this are not correct in the Makefile.
The files probably need to be split more carefully to separate 4844
things from the rest.
2022-09-19 23:18:42 +01:00
Ramana Kumar
63fc842d6d
Make y const in check_proof_single
2022-09-19 23:17:28 +01:00
Dankrad Feist
1e41ed4d36
Test equivalence with py_ecc
2022-09-19 19:56:43 +01:00
Ramana Kumar
cc049a05ca
Fix some whitespace issues
2022-09-19 19:49:11 +01:00
Ramana Kumar
c0aa4eb2cc
Add fr_vector_lincomb function
2022-09-19 19:47:16 +01:00
Ramana Kumar
bd65d49ffd
Check the proof fails on wrong data
2022-09-19 15:40:18 +01:00
Ramana Kumar
80b1c973cf
Make the tests the default make target
2022-09-19 15:40:18 +01:00
Ramana Kumar
701da680ce
Add tests of prove and verify
2022-09-19 15:40:18 +01:00
Ramana Kumar
968b099dab
Treat bool specially, avoid allocation
...
Because bool as a PyObject won't have a normal destroy operation
2022-09-19 15:40:18 +01:00
Ramana Kumar
306dcf5bac
Assume word size is 64
...
Avoids incompatible pointer type warnings on my system.
Ideally this would be sensitive to the host.
2022-09-19 15:40:18 +01:00
Ramana Kumar
43d54b8154
Add some comments to Python file, rename to tests
2022-09-19 15:40:18 +01:00
Ramana Kumar
9aa1dc289f
Compare result to Python evaluation
2022-09-19 15:40:17 +01:00
Ramana Kumar
8e5209c491
Work example up to evaluating a poly_l
2022-09-19 15:40:17 +01:00
Ramana Kumar
560127f1f5
Add some rudimentary Python access + example
2022-09-19 15:40:17 +01:00
Ramana Kumar
cd404dbb0a
Add array_class for fr_arrays
2022-09-19 15:40:17 +01:00
Ramana Kumar
8eb99bcc96
Initial attempt to swig for python
2022-09-19 15:40:15 +01:00
Dankrad Feist
67c6a61a18
Fix compiler warnings in zero_poly.c
2022-09-18 12:20:39 +01:00
Dankrad Feist
928e9360c0
Add docs for compute_proof_single_l
2022-09-18 12:16:35 +01:00
Dankrad Feist
56f40fdfcf
Fix documentation for compute_proof_multi
2022-09-18 12:14:54 +01:00
Ramana Kumar
25be720f62
Add some documentation
2022-09-18 09:51:55 +01:00
Ramana Kumar
8cdc4e62e3
Remove some trailing whitespace
2022-09-18 08:59:32 +01:00
Dankrad Feist
80b256ad5f
Use batch inversion for Lagrange commitment
2022-09-17 23:25:21 +01:00
Dankrad Feist
a2a4e57622
Lagrange proof bench
2022-09-17 18:34:59 +01:00
Ramana Kumar
f7053514b3
Free temporary arrays
2022-09-17 18:21:56 +01:00
Dankrad Feist
dcf68949b3
Optimized eval_poly_l with batch inversion
2022-09-17 18:00:54 +01:00
Ramana Kumar
4c8787d87b
Fix fr_batch_inv
2022-09-17 17:06:54 +01:00
Dankrad Feist
9c36ca4f3d
WIP: Montgomery batch inversion
2022-09-17 16:24:14 +01:00
Ramana Kumar
3aff3eb727
Implement proof for Lagrange at a root of unity
2022-09-17 13:05:12 +01:00
Ramana Kumar
c4537ccdae
Make y a parameter of compute_proof_single_l
2022-09-17 11:00:13 +01:00
Ramana Kumar
3d286c6050
Add proof_single_l to tests
2022-09-17 10:59:39 +01:00
Ramana Kumar
94c7bb56cf
Add another test at a different poly_l and root
2022-09-17 10:53:25 +01:00
Ramana Kumar
10bff7d5c8
Fix eval_poly_l for evaluation at a root
...
Move the TODO for the special formula to compute_proof_single_l
2022-09-17 10:49:04 +01:00
Ramana Kumar
f2454c284c
Add barycentric benchmark to Makefile
2022-09-17 09:27:41 +01:00
Dankrad Feist
30f5911e14
Benchmark for barycentric formula
2022-09-17 09:20:08 +01:00
Dankrad Feist
279eb5b514
Add TODO for barycentric formula special case
2022-09-17 07:23:00 +01:00
Ramana Kumar
12c3cb7645
Remove tmp2
...
This is possible assuming the fr_ ops don't need to read their inputs
after writing to their output.
2022-09-16 15:16:12 +01:00
Ramana Kumar
8eda02ab72
Remove tmp3 and unnecessary op
2022-09-16 15:16:12 +01:00