Commit Graph

160 Commits

Author SHA1 Message Date
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
Ben Edgington 8fbea3b3ef Handle many missing (step 2) 2021-03-03 11:48:56 +00:00
Ben Edgington 80af76581d Handle many missing (step 1) 2021-03-03 08:44:49 +00:00
Ben Edgington e2cbccdc9d Start improving the docs 2021-03-01 11:39:18 +00:00
Ben Edgington a28860ae39 Benchmarks for recover and zero_poly 2021-02-28 17:01:00 +00:00
Ben Edgington 79a9419791 Reduce memory usage 2021-02-28 17:00:05 +00:00
Ben Edgington 52e620467a Minor tweaks 2021-02-28 13:09:59 +00:00
Ben Edgington 0c5cd403d0 Minor update to debug info 2021-02-28 11:43:54 +00:00
Ben Edgington f1380fb007 Update progress 2021-02-27 15:21:53 +00:00
Ben Edgington 2c22bb9dae Implement recovery from samples 2021-02-27 15:19:46 +00:00
Ben Edgington 345a16bf8a Remove in-place FFTs 2021-02-26 14:44:31 +00:00
Ben Edgington a697775c4f Implement zero polynomial - passes tests, but could be tidier 2021-02-26 14:38:04 +00:00
Ben Edgington 5cc7ea488c Implement in-place FFTs for field elements 2021-02-22 21:36:43 +00:00
Ben Edgington e2c74624d7 Add functions to allocate multi-dimensional arrays 2021-02-22 17:03:16 +00:00
Ben Edgington 3d6fd31610 Improve tests 2021-02-21 12:53:39 +00:00
Ben Edgington 159fc0024d Collect various utility functions into a separate file 2021-02-20 16:03:04 +00:00
Ben Edgington 7fd0899972 Cast `void *` to something before doing arithmetic on it 2021-02-20 15:26:16 +00:00
Ben Edgington 3dbcfa2a97 Update macro info 2021-02-17 15:18:46 +00:00
Ben Edgington 5bd6f1f6bc Implement DAS extension 2021-02-17 12:25:03 +00:00
Ben Edgington 39e190984f Change ASSERT to CHECK and always fail with C_KZG_BADARGS 2021-02-17 12:22:35 +00:00
Ben Edgington f557f32ed1 Improve G1 multiplication time with Blst 2021-02-17 09:06:17 +00:00
Ben Edgington c10e1f40f1 Tidy up include files 2021-02-16 19:42:27 +00:00
Ben Edgington 66c50a49b1 Groundwork for being able to use alternative BLS libraries 2021-02-16 18:13:20 +00:00
Ben Edgington aec19b5eee Implement FK20 multi proofs 2021-02-15 20:48:16 +00:00
Ben Edgington cfe5fa6e49 Revamp error handling and memory management 2021-02-14 14:20:03 +00:00
Ben Edgington d22bbcca62 Introduce new_ prefix for functions that allocate memory 2021-02-14 08:28:37 +00:00
Ben Edgington 06afe430a7 Initialise FK20 multi proofs 2021-02-13 10:27:36 +00:00
Ben Edgington 5fbd3af10d Add README.md as the main page 2021-02-12 20:06:02 +00:00
Ben Edgington 9dc2611ac9 Improve docs 2021-02-12 19:49:43 +00:00
Ben Edgington 10934b87f0 Update documentation info 2021-02-12 16:56:32 +00:00
Ben Edgington 19f58f25fa Documentation and tidy up 2021-02-12 16:55:42 +00:00
Ben Edgington 9111f47f13 Allocate space in new_kzg_settings for the secrets 2021-02-12 12:11:48 +00:00
Ben Edgington ed33a391f5 Documentation and tidy up 2021-02-12 12:01:11 +00:00
Ben Edgington ef4be2309d Move field element division to blst_util 2021-02-11 20:01:57 +00:00
Ben Edgington 167a39cc4c Correct argument names 2021-02-11 19:41:10 +00:00
Ben Edgington 8497b7bc4b Documentation 2021-02-11 19:36:35 +00:00
Ben Edgington 7b023e10c4 The beginnings of documentation, yay 2021-02-11 11:43:08 +00:00
Ben Edgington 1a196dd748 Simplify by removing the unnecessary extended polynomial 2021-02-11 07:43:49 +00:00
Ben Edgington 5dc78d40f2 Move some function arguments around 2021-02-10 13:02:22 +00:00
Ben Edgington 79d7868f2a Relative links to source files don't work at Github :( 2021-02-10 12:52:24 +00:00
Ben Edgington 584124fa3a Add ASSERT info 2021-02-10 11:57:33 +00:00
Ben Edgington f476a0f6ce Add FK20 single proofs 2021-02-10 11:55:38 +00:00
Ben Edgington 8986f1cde3 Fix strided FFT 2021-02-10 11:15:35 +00:00