pub type OuterDft = Radix2DitParallel<OuterVal>;
Aliased Type§
struct OuterDft { /* private fields */ }
Trait Implementations
Source§impl<F> Clone for Radix2DitParallel<F>where
F: Clone,
impl<F> Clone for Radix2DitParallel<F>where
F: Clone,
Source§fn clone(&self) -> Radix2DitParallel<F>
fn clone(&self) -> Radix2DitParallel<F>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<F> Debug for Radix2DitParallel<F>where
F: Debug,
impl<F> Debug for Radix2DitParallel<F>where
F: Debug,
Source§impl<F> Default for Radix2DitParallel<F>where
F: Default,
impl<F> Default for Radix2DitParallel<F>where
F: Default,
Source§fn default() -> Radix2DitParallel<F>
fn default() -> Radix2DitParallel<F>
Returns the “default value” for a type. Read more
Source§impl<F> TwoAdicSubgroupDft<F> for Radix2DitParallel<F>where
F: TwoAdicField + Ord,
impl<F> TwoAdicSubgroupDft<F> for Radix2DitParallel<F>where
F: TwoAdicField + Ord,
type Evaluations = RowIndexMappedView<BitReversalPerm, DenseMatrix<F>>
Source§fn dft_batch(
&self,
mat: DenseMatrix<F>,
) -> <Radix2DitParallel<F> as TwoAdicSubgroupDft<F>>::Evaluations
fn dft_batch( &self, mat: DenseMatrix<F>, ) -> <Radix2DitParallel<F> as TwoAdicSubgroupDft<F>>::Evaluations
Compute the discrete Fourier transform (DFT) of each column in
mat
.
This is the only method an implementer needs to define, all other
methods can be derived from this one.Source§fn coset_lde_batch(
&self,
mat: DenseMatrix<F>,
added_bits: usize,
shift: F,
) -> <Radix2DitParallel<F> as TwoAdicSubgroupDft<F>>::Evaluations
fn coset_lde_batch( &self, mat: DenseMatrix<F>, added_bits: usize, shift: F, ) -> <Radix2DitParallel<F> as TwoAdicSubgroupDft<F>>::Evaluations
Compute the low-degree extension of each column in
mat
onto a coset of a larger subgroup.Source§fn coset_dft(&self, vec: Vec<F>, shift: F) -> Vec<F>
fn coset_dft(&self, vec: Vec<F>, shift: F) -> Vec<F>
Compute the “coset DFT” of
vec
. This can be viewed as interpolation onto a coset of a
multiplicative subgroup, rather than the subgroup itself.Source§fn coset_dft_batch(&self, mat: DenseMatrix<F>, shift: F) -> Self::Evaluations
fn coset_dft_batch(&self, mat: DenseMatrix<F>, shift: F) -> Self::Evaluations
Compute the “coset DFT” of each column in
mat
. This can be viewed as interpolation onto a
coset of a multiplicative subgroup, rather than the subgroup itself.Source§fn idft_batch(&self, mat: DenseMatrix<F>) -> DenseMatrix<F>
fn idft_batch(&self, mat: DenseMatrix<F>) -> DenseMatrix<F>
Compute the inverse DFT of each column in
mat
.Source§fn coset_idft(&self, vec: Vec<F>, shift: F) -> Vec<F>
fn coset_idft(&self, vec: Vec<F>, shift: F) -> Vec<F>
Compute the “coset iDFT” of
vec
. This can be viewed as an inverse operation of
“coset DFT”, that interpolates over a coset of a multiplicative subgroup, rather than
subgroup itself.Source§fn coset_idft_batch(&self, mat: DenseMatrix<F>, shift: F) -> DenseMatrix<F>
fn coset_idft_batch(&self, mat: DenseMatrix<F>, shift: F) -> DenseMatrix<F>
Compute the “coset iDFT” of each column in
mat
. This can be viewed as an inverse operation
of “coset DFT”, that interpolates over a coset of a multiplicative subgroup, rather than the
subgroup itself.Source§fn lde(&self, vec: Vec<F>, added_bits: usize) -> Vec<F>
fn lde(&self, vec: Vec<F>, added_bits: usize) -> Vec<F>
Compute the low-degree extension of
vec
onto a larger subgroup.Source§fn lde_batch(&self, mat: DenseMatrix<F>, added_bits: usize) -> Self::Evaluations
fn lde_batch(&self, mat: DenseMatrix<F>, added_bits: usize) -> Self::Evaluations
Compute the low-degree extension of each column in
mat
onto a larger subgroup.