pub struct Radix2BowersSerial;Expand description
The Bowers G FFT algorithm. See: “Improved Twiddle Access for Fast Fourier Transforms”
Trait Implementations§
Source§impl Clone for Radix2BowersSerial
impl Clone for Radix2BowersSerial
Source§fn clone(&self) -> Radix2BowersSerial
fn clone(&self) -> Radix2BowersSerial
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 Radix2BowersSerial
impl Default for Radix2BowersSerial
Source§fn default() -> Radix2BowersSerial
fn default() -> Radix2BowersSerial
Returns the “default value” for a type. Read more
Source§impl<F: TwoAdicField> TwoAdicSubgroupDft<F> for Radix2BowersSerial
impl<F: TwoAdicField> TwoAdicSubgroupDft<F> for Radix2BowersSerial
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.
Source§type Evaluations = DenseMatrix<F>
type Evaluations = DenseMatrix<F>
The matrix type used to store the result of a batched DFT operation. Read more
Source§fn dft(&self, vec: Vec<F>) -> Vec<F>
fn dft(&self, vec: Vec<F>) -> Vec<F>
Compute the discrete Fourier transform (DFT) of
vec. Read moreSource§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. Read moreSource§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. Read moreSource§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. Read more§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. Read more§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 is the inverse operation of “coset DFT”. Read more§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 is the inverse operation
of “coset DFT”. Read more§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. Read more§fn coset_lde(&self, vec: Vec<F>, added_bits: usize, shift: F) -> Vec<F>
fn coset_lde(&self, vec: Vec<F>, added_bits: usize, shift: F) -> Vec<F>
Compute the low-degree extension of of
vec onto a coset of a larger subgroup. Read more§fn dft_algebra<V>(&self, vec: Vec<V>) -> Vec<V>
fn dft_algebra<V>(&self, vec: Vec<V>) -> Vec<V>
Compute the discrete Fourier transform (DFT) of
vec. Read more§fn dft_algebra_batch<V>(&self, mat: DenseMatrix<V>) -> DenseMatrix<V>
fn dft_algebra_batch<V>(&self, mat: DenseMatrix<V>) -> DenseMatrix<V>
Compute the discrete Fourier transform (DFT) of each column in
mat. Read more§fn coset_dft_algebra<V>(&self, vec: Vec<V>, shift: F) -> Vec<V>
fn coset_dft_algebra<V>(&self, vec: Vec<V>, shift: F) -> Vec<V>
Compute the “coset DFT” of
vec. Read more§fn coset_dft_algebra_batch<V>(
&self,
mat: DenseMatrix<V>,
shift: F,
) -> DenseMatrix<V>
fn coset_dft_algebra_batch<V>( &self, mat: DenseMatrix<V>, shift: F, ) -> DenseMatrix<V>
Compute the “coset DFT” of each column in
mat. Read more§fn idft_algebra<V>(&self, vec: Vec<V>) -> Vec<V>
fn idft_algebra<V>(&self, vec: Vec<V>) -> Vec<V>
Compute the inverse DFT of
vec. Read more§fn idft_algebra_batch<V>(&self, mat: DenseMatrix<V>) -> DenseMatrix<V>
fn idft_algebra_batch<V>(&self, mat: DenseMatrix<V>) -> DenseMatrix<V>
Compute the inverse DFT of each column in
mat. Read more§fn coset_idft_algebra<V>(&self, vec: Vec<V>, shift: F) -> Vec<V>
fn coset_idft_algebra<V>(&self, vec: Vec<V>, shift: F) -> Vec<V>
Compute the “coset iDFT” of
vec. This is the inverse operation of “coset DFT”. Read more§fn coset_idft_algebra_batch<V>(
&self,
mat: DenseMatrix<V>,
shift: F,
) -> DenseMatrix<V>
fn coset_idft_algebra_batch<V>( &self, mat: DenseMatrix<V>, shift: F, ) -> DenseMatrix<V>
Compute the “coset iDFT” of each column in
mat. This is the inverse operation
of “coset DFT”. Read more§fn lde_algebra<V>(&self, vec: Vec<V>, added_bits: usize) -> Vec<V>
fn lde_algebra<V>(&self, vec: Vec<V>, added_bits: usize) -> Vec<V>
Compute the low-degree extension of
vec onto a larger subgroup. Read more§fn lde_algebra_batch<V>(
&self,
mat: DenseMatrix<V>,
added_bits: usize,
) -> DenseMatrix<V>
fn lde_algebra_batch<V>( &self, mat: DenseMatrix<V>, added_bits: usize, ) -> DenseMatrix<V>
Compute the low-degree extension of each column in
mat onto a larger subgroup. Read moreAuto Trait Implementations§
impl Freeze for Radix2BowersSerial
impl RefUnwindSafe for Radix2BowersSerial
impl Send for Radix2BowersSerial
impl Sync for Radix2BowersSerial
impl Unpin for Radix2BowersSerial
impl UnsafeUnpin for Radix2BowersSerial
impl UnwindSafe for Radix2BowersSerial
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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