Commit Graph

269 Commits

Author SHA1 Message Date
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 9dc2611ac9 Improve docs 2021-02-12 19:49:43 +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 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
Ben Edgington ea18b23bf5 Fix bug with strided FFT 2021-02-10 10:39:50 +00:00
Ben Edgington 10a6459851 Formatting 2021-02-08 10:15:12 +00:00
Ben Edgington 62d7641381 Remove TODO 2021-02-08 08:45:59 +00:00
Ben Edgington 4956ffa4ac Improve benchmark test framework 2021-02-08 08:39:24 +00:00
Ben Edgington b9bc4bb496 Add benchmarking for FFTs 2021-02-07 20:58:19 +00:00
Ben Edgington 80c513f653 Apply formatting rules 2021-02-07 14:19:25 +00:00
Ben Edgington 9085893ef7 Add stdlib include 2021-02-07 13:38:42 +00:00
Ben Edgington 7d5f0fcbd0 Handle malloc() errors 2021-02-07 09:23:37 +00:00
Ben Edgington ff014c293f Make polynomial division allocate space for the result 2021-02-07 08:03:10 +00:00
Ben Edgington 951ce118cd Fix up zero polynomial tests 2021-02-06 20:00:39 +00:00
Ben Edgington 61bc2c186a Use -g flag routinely for now 2021-02-06 19:59:43 +00:00
Ben Edgington c9dee6b54c Implement optimisation suggestion from Mamy 2021-02-06 19:18:53 +00:00
Ben Edgington a1659645af Free polynomial memory properly 2021-02-06 19:14:08 +00:00
Ben Edgington f93c33c2db Support zero length polynomials 2021-02-06 13:24:17 +00:00
Ben Edgington b3fd3cbb72 Add -g to debuglib 2021-02-06 13:23:39 +00:00
Ben Edgington a2ae798a66 Add comments 2021-02-06 11:41:36 +00:00
Ben Edgington 5bd2564ff8 Change free_poly to take a pointer to the polynomial 2021-02-05 20:52:26 +00:00
Ben Edgington 6242338bd8 Implement polynomial multi proofs 2021-02-05 20:48:56 +00:00
Ben Edgington 1ab4d08861 Use `sizeof` like the operator it is 2021-02-05 15:29:47 +00:00
Ben Edgington 0449f41038 Don't use malloc 2021-02-05 15:20:44 +00:00
Ben Edgington 4d2c26a428 Add missing return statements 2021-02-05 13:54:04 +00:00
Ben Edgington 0558dbaba8 Use uint64 for some loop counters 2021-02-05 13:46:05 +00:00
Ben Edgington ddecf22708 Shortcut polynomial evaluation for x = 0 2021-02-05 12:04:48 +00:00
Ben Edgington abe417019f Error handling 2021-02-05 10:22:48 +00:00
Ben Edgington 8538d74298 Rename success return code 2021-02-05 09:42:42 +00:00
Ben Edgington 60a6d33f73 Renamings 2021-02-05 09:13:16 +00:00
Ben Edgington 190f95359b Add titles to test output 2021-02-05 08:20:33 +00:00
Ben Edgington b4df409614 Pass polys when calculating quotient size 2021-02-05 08:10:08 +00:00
Ben Edgington 686d1c5ca7 Implement single polynomial commitment 2021-02-04 21:23:34 +00:00
Ben Edgington c68056638a Implement pairing check 2021-02-04 17:33:50 +00:00
Ben Edgington b9f4e7737e Define a `poly` type 2021-02-04 14:46:02 +00:00
Ben Edgington f5650d8e23 Implement polynomial division 2021-02-04 14:15:33 +00:00
Ben Edgington a59ccc7ff7 Add fr_negate() method 2021-02-04 14:14:25 +00:00
Ben Edgington ab0b618cac Include the right header file 2021-02-04 14:12:06 +00:00
Ben Edgington 6078618d0d Add const qualifiers to arguments 2021-02-04 14:10:48 +00:00
Ben Edgington a45735e159 Whitespace fix 2021-02-04 10:49:32 +00:00
Ben Edgington c28618f0ae Implement linear combinations of G1 points 2021-02-04 10:49:14 +00:00
Ben Edgington 5905bbc631 Rename fft_util* => fft_common* 2021-02-04 06:28:27 +00:00
Ben Edgington 10d5def069 Refactor in preparation for next steps 2021-02-03 21:00:14 +00:00
Ben Edgington 9f9c34e0ca Add ability to build a debug library 2021-02-03 16:59:59 +00:00
Ben Edgington cc1ea188bc Add library creation to makefile 2021-02-03 14:33:10 +00:00
Ben Edgington e5e1ef207f Nuke last assert statement 2021-02-03 13:00:19 +00:00
Ben Edgington ece913f636 Add some rudimentary error and debug handling 2021-02-03 12:57:47 +00:00
Ben Edgington 1e885ff898 Initial work on error handling 2021-02-03 12:11:35 +00:00
Ben Edgington 031d492b70 Use existing value of minus one in G1 FFT tests 2021-02-03 10:51:11 +00:00
Ben Edgington 5f789ab86d Fix G1 test data generator 2021-02-03 07:53:18 +00:00
Ben Edgington 80317b655e Remove fft_*_helper functions 2021-02-03 07:34:37 +00:00
Ben Edgington 6b01ba2b22 Delete spurious include 2021-02-03 00:22:05 +00:00
Ben Edgington ff17c72fe8 Formatting 2021-02-03 00:14:51 +00:00
Ben Edgington 3eb1096bfb Add Makefile as a dependency for tests 2021-02-03 00:06:51 +00:00
Ben Edgington ae43c79f3f Implement FFT with G1 elements 2021-02-02 23:46:52 +00:00
Ben Edgington 4ee33f7aba Do some namespacing for the FFT routines 2021-02-02 12:42:38 +00:00
Ben Edgington 3ee603fbdc Split out FFT utilities and tests to separate files 2021-02-02 12:29:56 +00:00
Ben Edgington 8de064215a Create src/ directory and move source files in 2021-02-02 11:44:19 +00:00