pub enum BaseR2r<T: FloatNum> {
Chebyshev(Chebyshev<T>),
ChebyshevComposite(ChebyshevComposite<T>),
}
Expand description
All bases who transform real-to-real
Variants
Chebyshev(Chebyshev<T>)
Chebyshev polynomials (orthogonal)
ChebyshevComposite(ChebyshevComposite<T>)
Chebyshev polynomials (composite)
Trait Implementations
sourceimpl<A: FloatNum> BaseElements for BaseR2r<A>
impl<A: FloatNum> BaseElements for BaseR2r<A>
sourceimpl<A, T> BaseFromOrtho<T> for BaseR2r<A> where
A: FloatNum,
T: ScalarNum + Add<A, Output = T> + Mul<A, Output = T> + Div<A, Output = T> + Sub<A, Output = T>,
impl<A, T> BaseFromOrtho<T> for BaseR2r<A> where
A: FloatNum,
T: ScalarNum + Add<A, Output = T> + Mul<A, Output = T> + Div<A, Output = T> + Sub<A, Output = T>,
sourcefn to_ortho_slice(&self, indata: &[T], outdata: &mut [T])
fn to_ortho_slice(&self, indata: &[T], outdata: &mut [T])
Composite coefficients -> Orthogonal coefficients
sourcefn from_ortho_slice(&self, indata: &[T], outdata: &mut [T])
fn from_ortho_slice(&self, indata: &[T], outdata: &mut [T])
Orthogonal coefficients -> Composite coefficients
sourcefn to_ortho<S, D>(&self, indata: &ArrayBase<S, D>, axis: usize) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
fn to_ortho<S, D>(&self, indata: &ArrayBase<S, D>, axis: usize) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
Composite coefficients -> Orthogonal coefficients
sourcefn to_ortho_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
T: Clone,
T: Clone + Zero + Copy,
fn to_ortho_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
T: Clone,
T: Clone + Zero + Copy,
Composite coefficients -> Orthogonal coefficients
sourcefn from_ortho<S, D>(&self, indata: &ArrayBase<S, D>, axis: usize) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
fn from_ortho<S, D>(&self, indata: &ArrayBase<S, D>, axis: usize) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
Composite coefficients -> Orthogonal coefficients
sourcefn from_ortho_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
T: Clone,
T: Clone + Zero + Copy,
fn from_ortho_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
T: Clone,
T: Clone + Zero + Copy,
Composite coefficients -> Orthogonal coefficients
sourcefn to_ortho_par<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
Self: Sync,
T: Send + Sync,
fn to_ortho_par<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
Self: Sync,
T: Send + Sync,
Composite coefficients -> Orthogonal coefficients (Parallel)
sourcefn to_ortho_inplace_par<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
T: Clone + Send + Sync,
T: Clone + Zero + Copy + Send + Sync,
Self: Sync,
fn to_ortho_inplace_par<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
T: Clone + Send + Sync,
T: Clone + Zero + Copy + Send + Sync,
Self: Sync,
Composite coefficients -> Orthogonal coefficients (Parallel)
sourcefn from_ortho_par<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
Self: Sync,
T: Send + Sync,
fn from_ortho_par<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
Self: Sync,
T: Send + Sync,
Composite coefficients -> Orthogonal coefficients (Parallel)
sourcefn from_ortho_inplace_par<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
T: Clone + Send + Sync,
T: Clone + Zero + Copy + Send + Sync,
Self: Sync,
fn from_ortho_inplace_par<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
T: Clone + Send + Sync,
T: Clone + Zero + Copy + Send + Sync,
Self: Sync,
Composite coefficients -> Orthogonal coefficients (Parallel)
sourceimpl<A, T> BaseGradient<T> for BaseR2r<A> where
A: FloatNum,
T: ScalarNum + Add<A, Output = T> + Mul<A, Output = T> + Div<A, Output = T> + Sub<A, Output = T>,
impl<A, T> BaseGradient<T> for BaseR2r<A> where
A: FloatNum,
T: ScalarNum + Add<A, Output = T> + Mul<A, Output = T> + Div<A, Output = T> + Sub<A, Output = T>,
sourcefn gradient_slice(&self, indata: &[T], outdata: &mut [T], n_times: usize)
fn gradient_slice(&self, indata: &[T], outdata: &mut [T], n_times: usize)
Differentiate in spectral space
sourcefn gradient<S, D>(
&self,
indata: &ArrayBase<S, D>,
n_times: usize,
axis: usize
) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
fn gradient<S, D>(
&self,
indata: &ArrayBase<S, D>,
n_times: usize,
axis: usize
) -> Array<T, D> where
S: Data<Elem = T>,
D: Dimension,
Differentiate in spectral space
sourcefn gradient_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
n_times: usize,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
fn gradient_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
n_times: usize,
axis: usize
) where
S1: Data<Elem = T>,
S2: Data<Elem = T> + DataMut,
D: Dimension,
Differentiate in spectral space
sourceimpl<A: FloatNum> BaseMatOpDiffmat for BaseR2r<A>
impl<A: FloatNum> BaseMatOpDiffmat for BaseR2r<A>
sourceimpl<A: FloatNum> BaseMatOpLaplacian for BaseR2r<A>
impl<A: FloatNum> BaseMatOpLaplacian for BaseR2r<A>
type NumType = A
type NumType = A
Scalar type of laplacian matrix
sourceimpl<A: FloatNum> BaseMatOpStencil for BaseR2r<A>
impl<A: FloatNum> BaseMatOpStencil for BaseR2r<A>
sourceimpl<A: FloatNum + ScalarNum> BaseTransform for BaseR2r<A>
impl<A: FloatNum + ScalarNum> BaseTransform for BaseR2r<A>
type Physical = A
type Physical = A
Scalar type in physical space
type Spectral = A
type Spectral = A
Scalar type in spectral space
sourcefn forward_slice(
&self,
indata: &[Self::Physical],
outdata: &mut [Self::Spectral]
)
fn forward_slice(
&self,
indata: &[Self::Physical],
outdata: &mut [Self::Spectral]
)
Physical values -> Spectral coefficients Read more
sourcefn backward_slice(
&self,
indata: &[Self::Spectral],
outdata: &mut [Self::Physical]
)
fn backward_slice(
&self,
indata: &[Self::Spectral],
outdata: &mut [Self::Physical]
)
Spectral coefficients -> Physical values Read more
sourcefn forward<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<Self::Spectral, D> where
S: Data<Elem = Self::Physical>,
D: Dimension,
Self::Physical: Clone,
Self::Spectral: Zero + Clone + Copy,
fn forward<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<Self::Spectral, D> where
S: Data<Elem = Self::Physical>,
D: Dimension,
Self::Physical: Clone,
Self::Spectral: Zero + Clone + Copy,
Physical values -> Spectral coefficients
sourcefn forward_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = Self::Physical>,
S2: Data<Elem = Self::Spectral> + DataMut,
D: Dimension,
Self::Physical: Clone,
Self::Spectral: Clone + Zero + Copy,
fn forward_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = Self::Physical>,
S2: Data<Elem = Self::Spectral> + DataMut,
D: Dimension,
Self::Physical: Clone,
Self::Spectral: Clone + Zero + Copy,
Physical values -> Spectral coefficients
sourcefn backward<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<Self::Physical, D> where
S: Data<Elem = Self::Spectral>,
D: Dimension,
Self::Spectral: Clone,
Self::Physical: Zero + Clone + Copy,
fn backward<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<Self::Physical, D> where
S: Data<Elem = Self::Spectral>,
D: Dimension,
Self::Spectral: Clone,
Self::Physical: Zero + Clone + Copy,
Spectral coefficients -> Physical values
sourcefn backward_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = Self::Spectral>,
S2: Data<Elem = Self::Physical> + DataMut,
D: Dimension,
Self::Spectral: Clone,
Self::Physical: Clone + Zero + Copy,
fn backward_inplace<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = Self::Spectral>,
S2: Data<Elem = Self::Physical> + DataMut,
D: Dimension,
Self::Spectral: Clone,
Self::Physical: Clone + Zero + Copy,
Spectral coefficients -> Physical values
sourcefn forward_par<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<Self::Spectral, D> where
S: Data<Elem = Self::Physical>,
D: Dimension,
Self::Physical: Clone + Send + Sync,
Self::Spectral: Zero + Clone + Copy + Send + Sync,
Self: Sync,
fn forward_par<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<Self::Spectral, D> where
S: Data<Elem = Self::Physical>,
D: Dimension,
Self::Physical: Clone + Send + Sync,
Self::Spectral: Zero + Clone + Copy + Send + Sync,
Self: Sync,
Physical values -> Spectral coefficients (Parallel)
sourcefn forward_inplace_par<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = Self::Physical>,
S2: Data<Elem = Self::Spectral> + DataMut,
D: Dimension,
Self::Physical: Clone + Send + Sync,
Self::Spectral: Clone + Zero + Copy + Send + Sync,
Self: Sync,
fn forward_inplace_par<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = Self::Physical>,
S2: Data<Elem = Self::Spectral> + DataMut,
D: Dimension,
Self::Physical: Clone + Send + Sync,
Self::Spectral: Clone + Zero + Copy + Send + Sync,
Self: Sync,
Physical values -> Spectral coefficients (Parallel)
sourcefn backward_par<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<Self::Physical, D> where
S: Data<Elem = Self::Spectral>,
D: Dimension,
Self::Spectral: Clone + Send + Sync,
Self::Physical: Zero + Clone + Copy + Send + Sync,
Self: Sync,
fn backward_par<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<Self::Physical, D> where
S: Data<Elem = Self::Spectral>,
D: Dimension,
Self::Spectral: Clone + Send + Sync,
Self::Physical: Zero + Clone + Copy + Send + Sync,
Self: Sync,
Spectral coefficients -> Physical values (Parallel)
sourcefn backward_inplace_par<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = Self::Spectral>,
S2: Data<Elem = Self::Physical> + DataMut,
D: Dimension,
Self::Spectral: Clone + Send + Sync,
Self::Physical: Clone + Zero + Copy + Send + Sync,
Self: Sync,
fn backward_inplace_par<S1, S2, D>(
&self,
indata: &ArrayBase<S1, D>,
outdata: &mut ArrayBase<S2, D>,
axis: usize
) where
S1: Data<Elem = Self::Spectral>,
S2: Data<Elem = Self::Physical> + DataMut,
D: Dimension,
Self::Spectral: Clone + Send + Sync,
Self::Physical: Clone + Zero + Copy + Send + Sync,
Self: Sync,
Spectral coefficients -> Physical values (Parallel)
Auto Trait Implementations
impl<T> !RefUnwindSafe for BaseR2r<T>
impl<T> Send for BaseR2r<T>
impl<T> Sync for BaseR2r<T>
impl<T> Unpin for BaseR2r<T> where
T: Unpin,
impl<T> !UnwindSafe for BaseR2r<T>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more