mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-08 16:53: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.
34 lines
779 B
Rust
34 lines
779 B
Rust
#![allow(incomplete_features)]
|
|
#![allow(clippy::new_without_default)]
|
|
#![allow(clippy::too_many_arguments)]
|
|
#![allow(clippy::type_complexity)]
|
|
#![allow(clippy::len_without_is_empty)]
|
|
#![allow(clippy::needless_range_loop)]
|
|
#![allow(clippy::return_self_not_must_use)]
|
|
#![feature(generic_const_exprs)]
|
|
#![feature(specialization)]
|
|
#![feature(stdsimd)]
|
|
|
|
pub(crate) mod arch;
|
|
pub mod batch_util;
|
|
pub mod cosets;
|
|
pub mod extension_field;
|
|
pub mod fft;
|
|
pub mod field_types;
|
|
pub mod goldilocks_extensions;
|
|
pub mod goldilocks_field;
|
|
pub mod interpolation;
|
|
mod inversion;
|
|
pub mod ops;
|
|
pub mod packable;
|
|
pub mod packed_field;
|
|
pub mod polynomial;
|
|
pub mod secp256k1_base;
|
|
pub mod secp256k1_scalar;
|
|
pub mod zero_poly_coset;
|
|
|
|
#[cfg(test)]
|
|
mod field_testing;
|
|
#[cfg(test)]
|
|
mod prime_field_testing;
|