pub trait BaseSpaceTransform<A, const N: usize>: BaseSpaceSize<N> where
    A: FloatNum,
    Self::Physical: ScalarNum,
    Self::Spectral: ScalarNum
{ type Physical; type Spectral; fn forward_inplace<S1, S2>(
        &self,
        input: &ArrayBase<S1, Dim<[usize; N]>>,
        output: &mut ArrayBase<S2, Dim<[usize; N]>>
    )
    where
        S1: Data<Elem = Self::Physical>,
        S2: Data<Elem = Self::Spectral> + DataMut
; fn backward_inplace<S1, S2>(
        &self,
        input: &ArrayBase<S1, Dim<[usize; N]>>,
        output: &mut ArrayBase<S2, Dim<[usize; N]>>
    )
    where
        S1: Data<Elem = Self::Spectral>,
        S2: Data<Elem = Self::Physical> + DataMut
; fn forward_inplace_par<S1, S2>(
        &self,
        input: &ArrayBase<S1, Dim<[usize; N]>>,
        output: &mut ArrayBase<S2, Dim<[usize; N]>>
    )
    where
        S1: Data<Elem = Self::Physical>,
        S2: Data<Elem = Self::Spectral> + DataMut
; fn backward_inplace_par<S1, S2>(
        &self,
        input: &ArrayBase<S1, Dim<[usize; N]>>,
        output: &mut ArrayBase<S2, Dim<[usize; N]>>
    )
    where
        S1: Data<Elem = Self::Spectral>,
        S2: Data<Elem = Self::Physical> + DataMut
; fn ndarray_physical(&self) -> Array<Self::Physical, Dim<[usize; N]>> { ... } fn ndarray_spectral(&self) -> Array<Self::Spectral, Dim<[usize; N]>> { ... } fn forward<S>(
        &self,
        input: &ArrayBase<S, Dim<[usize; N]>>
    ) -> Array<Self::Spectral, Dim<[usize; N]>>
    where
        S: Data<Elem = Self::Physical>
, { ... } fn backward<S>(
        &self,
        input: &ArrayBase<S, Dim<[usize; N]>>
    ) -> Array<Self::Physical, Dim<[usize; N]>>
    where
        S: Data<Elem = Self::Spectral>
, { ... } fn forward_par<S>(
        &self,
        input: &ArrayBase<S, Dim<[usize; N]>>
    ) -> Array<Self::Spectral, Dim<[usize; N]>>
    where
        S: Data<Elem = Self::Physical>
, { ... } fn backward_par<S>(
        &self,
        input: &ArrayBase<S, Dim<[usize; N]>>
    ) -> Array<Self::Physical, Dim<[usize; N]>>
    where
        S: Data<Elem = Self::Spectral>
, { ... } }
Expand description

Associated Types

Required methods

Transform physical -> spectral space (inplace)

Arguments
  • input - ndarray with num type of physical space
  • output - ndarray with num type of spectral space

Transform spectral -> physical space (inplace)

Arguments
  • input - ndarray with num type of spectral space
  • output - ndarray with num type of physical space

Transform physical -> spectral space (inplace)

Arguments
  • input - ndarray with num type of physical space
  • output - ndarray with num type of spectral space

Transform spectral -> physical space (inplace)

Arguments
  • input - ndarray with num type of spectral space
  • output - ndarray with num type of physical space

Provided methods

Return array where size and type matches physical field

Return array where size and type matches spectral field

Transform physical -> spectral space

Arguments
  • input - ndarray with num type of physical space
  • output - ndarray with num type of spectral space

Transform spectral -> physical space

Arguments
  • input - ndarray with num type of spectral space
  • output - ndarray with num type of physical space

Transform physical -> spectral space

Arguments
  • input - ndarray with num type of physical space
  • output - ndarray with num type of spectral space

Transform spectral -> physical space

Arguments
  • input - ndarray with num type of spectral space
  • output - ndarray with num type of physical space

Implementors