pub struct Radix2Bowers;
Expand description
The Bowers G FFT algorithm. See: “Improved Twiddle Access for Fast Fourier Transforms”
Trait Implementations§
Source§impl Clone for Radix2Bowers
impl Clone for Radix2Bowers
Source§fn clone(&self) -> Radix2Bowers
fn clone(&self) -> Radix2Bowers
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 Default for Radix2Bowers
impl Default for Radix2Bowers
Source§fn default() -> Radix2Bowers
fn default() -> Radix2Bowers
Returns the “default value” for a type. Read more
Source§impl<F: TwoAdicField> TwoAdicSubgroupDft<F> for Radix2Bowers
impl<F: TwoAdicField> TwoAdicSubgroupDft<F> for Radix2Bowers
Source§fn idft_batch(&self, mat: RowMajorMatrix<F>) -> RowMajorMatrix<F>
fn idft_batch(&self, mat: RowMajorMatrix<F>) -> RowMajorMatrix<F>
Compute the inverse DFT of each column in mat
.
type Evaluations = DenseMatrix<F>
Source§fn dft_batch(&self, mat: RowMajorMatrix<F>) -> RowMajorMatrix<F>
fn dft_batch(&self, mat: RowMajorMatrix<F>) -> RowMajorMatrix<F>
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 lde_batch(
&self,
mat: RowMajorMatrix<F>,
added_bits: usize,
) -> RowMajorMatrix<F>
fn lde_batch( &self, mat: RowMajorMatrix<F>, added_bits: usize, ) -> RowMajorMatrix<F>
Compute the low-degree extension of each column in
mat
onto a larger subgroup.Source§fn coset_lde_batch(
&self,
mat: RowMajorMatrix<F>,
added_bits: usize,
shift: F,
) -> RowMajorMatrix<F>
fn coset_lde_batch( &self, mat: RowMajorMatrix<F>, added_bits: usize, shift: F, ) -> RowMajorMatrix<F>
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: RowMajorMatrix<F>, shift: F) -> Self::Evaluations
fn coset_dft_batch(&self, mat: RowMajorMatrix<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 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: RowMajorMatrix<F>,
shift: F,
) -> RowMajorMatrix<F>
fn coset_idft_batch( &self, mat: RowMajorMatrix<F>, shift: F, ) -> RowMajorMatrix<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.Auto Trait Implementations§
impl Freeze for Radix2Bowers
impl RefUnwindSafe for Radix2Bowers
impl Send for Radix2Bowers
impl Sync for Radix2Bowers
impl Unpin for Radix2Bowers
impl UnwindSafe for Radix2Bowers
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more