mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-04 06:43:07 +00:00
* Initial implementation of quintic extensions. * Update to/from_biguint() methods. * Draft of fast multiplication on quintic extensions over 64-bit base. * cargo fmt * Typo. * Document functions (a bit). * Refactor reduction step. * Change multiplication call so that LLVM generates better assembly. * Use one main accumulator instead of two minor ones; faster reduce. * Use one main accumulator in square too; clean up redundant code. * Call faster routines from Mul and Square impls. * Fix reduction function. * Fix square calculation. * Slightly faster reduction. * Clean up names and types. * cargo fmt * Move extension field mul/sqr specialisations to their own file. * Rename functions to have unique prefix. * Add faster quadratic multiplication/squaring. * Faster quartic multiplication and squaring. * cargo fmt * clippy * Alternative reduce160 function. * Typo. * Remove alternative reduction function. * Remove delayed reduction implementation of squaring. * Enforce assumptions about extension generators. * Make the accumulation variable a u32 instead of u64. * Add test to trigger carry branch in reduce160. * cargo fmt * Some documentation. * Clippy; improved comments. * cargo fmt * Remove redundant Square specialisations. * Fix reduce*() visibility. * Faster reduce160 from Jakub. * Change mul-by-const functions to operate on 160 bits instead of 128. * Move code for extensions of GoldilocksField to its own file.