Commit Graph

702 Commits

Author SHA1 Message Date
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
Ramana Kumar 509e75b1d5
Add new_poly_l to interface 2022-09-16 15:16:11 +01:00
Ramana Kumar f7aa56679b
Remove unused variable 2022-09-16 15:16:11 +01:00
Ramana Kumar c8b18c3a22
Free allocated coeffs, avoid leak 2022-09-16 15:16:11 +01:00
Dankrad Feist 0861520a7e
Test for proofs computed in Lagrange form 2022-09-16 15:16:11 +01:00
Ramana Kumar 7f1a25bbc5
First pass at compute_proof_single_l 2022-09-16 15:16:11 +01:00
Ramana Kumar 15f2b9eef9
Add evaluation of Lagrange poly 2022-09-16 15:16:11 +01:00
Ramana Kumar 56e0769ce4
Add Lagrange form, with a test 2022-09-16 15:16:11 +01:00
Dankrad Feist 6b5140af66
Fixed test for check_proof_multi 2022-09-16 15:15:58 +01:00
Ramana Kumar 9bd8c3fdf8
Change coset_scale in test proof_multi 2022-09-15 13:35:02 +01:00
Ramana Kumar f2f20141db
Stop adding one to secrets_len 2022-09-15 13:33:17 +01:00
Ramana Kumar fa80d94168
Add newlines at ends of some files 2022-09-15 13:32:08 +01:00
Anton Nashatyrev 63612c1119
Fix toeplitz_coeffs_stride() for minimal sized poly (#18)
Fix an edge case in FKMulti when the chunk length was the same as the polynomial size, resulting in writing outside the return array in `toeplitz_coeffs_stride()`.

Co-authored-by: Ben Edgington <ben@benjaminion.xyz>
2021-08-20 16:07:16 +01:00
Anton Nashatyrev 350a961b90
Fix condition check (#17) 2021-08-11 11:13:08 +01:00
Ben Edgington 950d53c325
Nashatyrev feature/add g2 add dbl (#16)
* Add g2_add_or_dbl() function

* Add unit test

Co-authored-by: Anton Nashatyrev <anton.nashatyrev@gmail.com>
2021-08-11 10:06:32 +01:00
Ben Edgington 80f984cecd Correct include dir info 2021-07-09 13:41:30 +01:00
Ben Edgington b21d13684b
Consolidate header files (#14)
* Consolidate header files

User should now need only include c_kzg.h and bls12_381.h.

* Update README
2021-07-09 13:35:19 +01:00
Ben Edgington ca1acf61d6 Fix up docs (include static functions) 2021-07-09 09:54:37 +01:00
Ben Edgington 1f2c946ce8
Merge pull request #12 from Nashatyrev/fix/double-include-guard
Add double header include guard for kzg_proofs.h
2021-07-09 06:26:15 +01:00
Ben Edgington e8b140a88b
Comment end of #if 2021-07-09 06:23:35 +01:00
Ben Edgington 13d523a079
Merge pull request #13 from benjaminion/testing_refactor
Refactor unit testing
2021-07-09 06:19:35 +01:00
Anton Nashatyrev 1712cd83bb Add newline at the end of file 2021-07-08 17:59:32 +03:00
Anton Nashatyrev 0c8c174a31 Add double header include guard for kzg_proofs.h 2021-07-08 17:58:15 +03:00
Ben Edgington f6b1d0ff57 Refactor unit testing 2021-07-03 13:55:54 +01:00
Ben Edgington 144d81b2c1 Fix up documentation 2021-07-03 11:45:39 +01:00
Ben Edgington 479a9cab28
Merge pull request #11 from benjaminion/das_extension_stride_fix
Fix initial stride in das_fft_extension
2021-07-03 10:57:06 +01:00
Ben Edgington 27bde1aff7 Fix initial stride in das_fft_extension 2021-07-03 10:50:56 +01:00
Ben Edgington 419e28b46b
Merge pull request #9 from benjaminion/Nashatyrev-feature/add-fr-to-uints
Add fr_to_uints() function
2021-07-03 09:45:58 +01:00
Ben Edgington 958dc1aee7 Minor tweaks and add a unit test 2021-07-03 09:37:20 +01:00
Anton Nashatyrev fc641a2197 Add fr_to_uint64s() function 2021-07-02 14:48:36 +03:00
Ben Edgington ba81164330
Implements fast division for long divisors (#7) 2021-06-28 12:42:14 +01:00
Ben Edgington 244bfe8740 Add ASSERT macro 2021-06-24 16:22:37 +01:00
Ben Edgington 2cf8782e91 Add length check for polynomial commitment 2021-06-23 11:51:50 +01:00
Ben Edgington 37021b9653 Use Blst's multiscalar multiplication for commitments 2021-06-22 19:52:44 +01:00
Ben Edgington 18f7d8f72e Link to jc-kzg Java wrapper 2021-06-21 16:11:03 +01:00
Anton Nashatyrev 7f8b81717d
Add KZG_CFLAGS env var to compiler options for passing additional compiler options (#6)
* Add KZG_CFLAGS env var to compiler options for passing additional compiler options
2021-06-14 13:00:17 +01:00
Ben Edgington 32becfefcf
Change the primitive root from 5 to 7 (#5) 2021-06-11 14:22:47 +01:00
Ben Edgington e23d7457b6
Merge pull request #2 from Nashatyrev/fix/include
Specify blst include dir in Makefile
2021-06-11 11:07:49 +01:00
Anton Nashatyrev 9e4cfa4325 Move specific include dir to Makefile from .h 2021-06-10 18:52:36 +03:00
Ben Edgington 0924f243b4 Simplify reduction loop 2021-04-28 19:56:22 +01:00
Ben Edgington f25ada5ea9 Micro-optimisation 2021-04-20 12:28:30 +01:00
Ben Edgington e7b4e9f06d Rename shift_poly to scale_poly 2021-03-08 12:06:25 +00:00
Ben Edgington e9537b29a3 Fix benchmark 2021-03-06 13:17:07 +00:00
Ben Edgington 42013d27a0 Fix missing initialisation 2021-03-06 13:16:32 +00:00
Ben Edgington 5edef551f4 Test for division by zero 2021-03-06 13:15:57 +00:00
Ben Edgington 7d3d422005 Improve comments 2021-03-04 15:10:28 +00:00
Ben Edgington 9d1b622f21 Make zero poly work for large numbers of missing indices
Previously, like the Go code, calculating the zero polynomial would fail
for very lare numbers of missing indices. For example, 253 missing with
a domain size of 256 - this is where the number of partials flips from 4
to 5 and more working space is needed.

With this commit, the zero polynomial can be calculated right up to all
but one of the indices missing. The case with all indices missing
doesn't work as the return data is too large, but the solution is known
to be `x^width - 1` in case we need to know.
2021-03-03 21:51:32 +00:00
Ben Edgington f09d1a70b2 Handle many missing (step 3) 2021-03-03 17:43:31 +00:00