pub struct MixedRadix11xnAvx<A: AvxNum, T> {
twiddles_butterfly11: [A::VectorType; 5],
common_data: CommonSimdData<T, A::VectorType>,
_phantom: PhantomData<T>,
}Fields§
§twiddles_butterfly11: [A::VectorType; 5]§common_data: CommonSimdData<T, A::VectorType>§_phantom: PhantomData<T>Implementations§
Source§impl<A: AvxNum, T: FftNum> MixedRadix11xnAvx<A, T>
impl<A: AvxNum, T: FftNum> MixedRadix11xnAvx<A, T>
unsafe fn new_with_avx(inner_fft: Arc<dyn Fft<T>>) -> Self
unsafe fn perform_column_butterflies_immut( &self, input: impl AvxArray<A>, buffer: impl AvxArrayMut<A>, )
unsafe fn perform_column_butterflies(&self, buffer: impl AvxArrayMut<A>)
unsafe fn transpose(&self, input: &[Complex<A>], output: &mut [Complex<A>])
Sourcepub fn new(inner_fft: Arc<dyn Fft<T>>) -> Result<Self, ()>
pub fn new(inner_fft: Arc<dyn Fft<T>>) -> Result<Self, ()>
Preallocates necessary arrays and precomputes necessary data to efficiently compute the FFT Returns Ok() if this machine has the required instruction sets, Err() if some instruction sets are missing
unsafe fn perform_fft_inplace( &self, buffer: &mut [Complex<T>], scratch: &mut [Complex<T>], )
unsafe fn perform_fft_immut( &self, input: &[Complex<T>], output: &mut [Complex<T>], scratch: &mut [Complex<T>], )
unsafe fn perform_fft_out_of_place( &self, input: &mut [Complex<T>], output: &mut [Complex<T>], scratch: &mut [Complex<T>], )
Trait Implementations§
Source§impl<A: AvxNum, T> Direction for MixedRadix11xnAvx<A, T>
impl<A: AvxNum, T> Direction for MixedRadix11xnAvx<A, T>
Source§fn fft_direction(&self) -> FftDirection
fn fft_direction(&self) -> FftDirection
Returns FftDirection::Forward if this instance computes forward FFTs, or FftDirection::Inverse for inverse FFTs
Source§impl<A: AvxNum, T: FftNum> Fft<T> for MixedRadix11xnAvx<A, T>
impl<A: AvxNum, T: FftNum> Fft<T> for MixedRadix11xnAvx<A, T>
Source§fn process_immutable_with_scratch(
&self,
input: &[Complex<T>],
output: &mut [Complex<T>],
scratch: &mut [Complex<T>],
)
fn process_immutable_with_scratch( &self, input: &[Complex<T>], output: &mut [Complex<T>], scratch: &mut [Complex<T>], )
Divides
input and output into chunks of self.len(), and computes a FFT on each chunk while
keeping input untouched. Read moreSource§fn process_outofplace_with_scratch(
&self,
input: &mut [Complex<T>],
output: &mut [Complex<T>],
scratch: &mut [Complex<T>],
)
fn process_outofplace_with_scratch( &self, input: &mut [Complex<T>], output: &mut [Complex<T>], scratch: &mut [Complex<T>], )
Divides
input and output into chunks of size self.len(), and computes a FFT on each chunk. Read moreSource§fn process_with_scratch(
&self,
buffer: &mut [Complex<T>],
scratch: &mut [Complex<T>],
)
fn process_with_scratch( &self, buffer: &mut [Complex<T>], scratch: &mut [Complex<T>], )
Source§fn get_inplace_scratch_len(&self) -> usize
fn get_inplace_scratch_len(&self) -> usize
Returns the size of the scratch buffer required by
process_with_scratch Read moreSource§fn get_outofplace_scratch_len(&self) -> usize
fn get_outofplace_scratch_len(&self) -> usize
Returns the size of the scratch buffer required by
process_outofplace_with_scratch Read moreSource§fn get_immutable_scratch_len(&self) -> usize
fn get_immutable_scratch_len(&self) -> usize
Returns the size of the scratch buffer required by
process_immutable_with_scratch Read moreAuto Trait Implementations§
impl<A, T> !RefUnwindSafe for MixedRadix11xnAvx<A, T>
impl<A, T> !UnwindSafe for MixedRadix11xnAvx<A, T>
impl<A, T> Freeze for MixedRadix11xnAvx<A, T>
impl<A, T> Send for MixedRadix11xnAvx<A, T>where
T: Send,
impl<A, T> Sync for MixedRadix11xnAvx<A, T>where
T: Sync,
impl<A, T> Unpin for MixedRadix11xnAvx<A, T>
impl<A, T> UnsafeUnpin for MixedRadix11xnAvx<A, T>
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