This repository has been archived by the owner on Oct 1, 2024. It is now read-only.
forked from Plonky3/Plonky3
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Coset LDE based on row-oriented DFT (Plonky3#440)
* First draft. * Second draft. * Add root tables; remove dumb reduce; prepare for Monty version. * Use Monty rather than Barrett. * Remove old comments. * Do partial reduction; inline sizes 128 and 256. * Remove Barrett reduc code. * Refactor butterfly. * Use u32 repr rather than i64; misc. tidying. * Working version; initial benchmarking harness. * Working with non-square inputs. * Four-step FFT fiddling. * Move BabyBear FFT to Monty 31 crate. * Remove 'Real' typedef. * Move implementation into MontyField31 struct. * Implement the TwoAdicSubgroupDft trait; move tests to concrete field * More thorough transpose benchmark. * Move `pretty_name` to utils crate; use `pretty_name` in fft benches * Remove unused four-step code. * Tidy up implementation and testing; store precomputed roots. * Tidying. * Remove unused 'backward' transform. * Move `split_at_mut_unchecked` to utils crate; remove unused import. * Clippy. * Remove unnecessary function. * Fix name of algo. * Refactor bitrev & transpose parts of dft * Refactor DFT tests. * Minor simplification. * Fix specification of twiddle table. * Expanded benchmarks. * Remove unnecessary borrows. * Add more tracing information. * Messy but working version of `coset_lde_batch`. * Reduce allocations by removing dependency on `RowMajorMatrix`. * Unsafe scratch initialisation. * Don't apply coset powers to zero elements. * Tidying up; parallelise `scale()`. * Update Keccak AIR examples * Use new FFT in KoalaBear example; misc tidying. * Fix dumb bug. * Rename var. * Switch DIT and DIF for DFT and IDFT; adjust bit-reversals & zeroing; scale and shift at once. * Refactor internal functions; rename some things. * clippy * Remove unused function. * Update some documentation. * Expand first layer of DFT. * Reduce memory consumption. * Specialise inverse roots; unroll radix4; move fn's to utils. * Remove unused fn; comment. * Rename Radix2Dft -> RecursiveDft. * Clean up examples. * Miscellaneous documentation and tidying. * Minor tidying. * cargo fmt * Address review comments. * Fix URL. * `split_at_mut_unchecked` is now available in stable. * Remove comment. * Remove `partial_monty_reduce`; add comments; cargo fmt. * Faster alloc and padding; remove specialised first FFT layer. * Use `transmute` instead of `Vec::set_len`. * "Tidying" * Review comments.
- Loading branch information
Showing
29 changed files
with
899 additions
and
226 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.