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 spaceoutput
- ndarray with num type of spectral space
Transform spectral -> physical space (inplace)
Arguments
input
- ndarray with num type of spectral spaceoutput
- ndarray with num type of physical space
Transform physical -> spectral space (inplace)
Arguments
input
- ndarray with num type of physical spaceoutput
- ndarray with num type of spectral space
Transform spectral -> physical space (inplace)
Arguments
input
- ndarray with num type of spectral spaceoutput
- 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 spaceoutput
- ndarray with num type of spectral space
Transform spectral -> physical space
Arguments
input
- ndarray with num type of spectral spaceoutput
- ndarray with num type of physical space
Transform physical -> spectral space
Arguments
input
- ndarray with num type of physical spaceoutput
- ndarray with num type of spectral space