pub trait BaseFromOrtho<T>: BaseSize where
T: Zero + Copy, {
fn to_ortho_slice(&self, indata: &[T], outdata: &mut [T]);
fn from_ortho_slice(&self, indata: &[T], outdata: &mut [T]);
fn to_ortho<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<T, D>
where
S: Data<Elem = T>,
D: Dimension,
{ ... }
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,
{ ... }
fn from_ortho<S, D>(
&self,
indata: &ArrayBase<S, D>,
axis: usize
) -> Array<T, D>
where
S: Data<Elem = T>,
D: Dimension,
{ ... }
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,
{ ... }
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,
{ ... }
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,
{ ... }
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,
{ ... }
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,
{ ... }
}