#[repr(transparent)]pub struct Diag<Inner>(pub Inner);Expand description
generic Diag wrapper
Tuple Fields§
§0: InnerImplementations§
Source§impl<'a, T, Dim: Shape, Stride: Stride> Diag<Mut<'a, T, Dim, Stride>>
impl<'a, T, Dim: Shape, Stride: Stride> Diag<Mut<'a, T, Dim, Stride>>
Sourcepub const unsafe fn from_raw_parts_mut(
ptr: *mut T,
dim: Dim,
stride: Stride,
) -> Self
pub const unsafe fn from_raw_parts_mut( ptr: *mut T, dim: Dim, stride: Stride, ) -> Self
creates a DiagMut from pointers to the diagonal data, dimension, and stride
§safety
this function has the same safety requirements as
[MatMut::from_raw_parts_mut(ptr, dim, 1, stride, 0)]
Sourcepub fn column_vector(self) -> ColRef<'a, T, Dim, Stride>
pub fn column_vector(self) -> ColRef<'a, T, Dim, Stride>
returns the diagonal as a column vector view
Sourcepub fn column_vector_mut(self) -> ColMut<'a, T, Dim, Stride>
pub fn column_vector_mut(self) -> ColMut<'a, T, Dim, Stride>
returns the diagonal as a mutable column vector view
Sourcepub fn as_dyn(self) -> DiagRef<'a, T, usize, Stride>
pub fn as_dyn(self) -> DiagRef<'a, T, usize, Stride>
see DiagRef::as_dyn
Sourcepub fn as_dyn_stride(self) -> DiagRef<'a, T, Dim>
pub fn as_dyn_stride(self) -> DiagRef<'a, T, Dim>
Sourcepub fn as_shape_mut<D: Shape>(self, len: D) -> DiagMut<'a, T, D, Stride>
pub fn as_shape_mut<D: Shape>(self, len: D) -> DiagMut<'a, T, D, Stride>
Sourcepub fn as_dyn_mut(self) -> DiagMut<'a, T, usize, Stride>
pub fn as_dyn_mut(self) -> DiagMut<'a, T, usize, Stride>
see DiagRef::as_dyn
Sourcepub fn as_dyn_stride_mut(self) -> DiagMut<'a, T, Dim>
pub fn as_dyn_stride_mut(self) -> DiagMut<'a, T, Dim>
Sourcepub fn conjugate_mut(self) -> DiagMut<'a, T::Conj, Dim, Stride>where
T: Conjugate,
pub fn conjugate_mut(self) -> DiagMut<'a, T::Conj, Dim, Stride>where
T: Conjugate,
Sourcepub fn canonical_mut(self) -> DiagMut<'a, T::Canonical, Dim, Stride>where
T: Conjugate,
pub fn canonical_mut(self) -> DiagMut<'a, T::Canonical, Dim, Stride>where
T: Conjugate,
Sourcepub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
rhs: impl AsDiagRef<T = RhsT, Dim = Dim>,
)where
T: ComplexField,
pub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
rhs: impl AsDiagRef<T = RhsT, Dim = Dim>,
)where
T: ComplexField,
copies other into self
Source§impl<T, Dim: Shape> Diag<Own<T, Dim>>
impl<T, Dim: Shape> Diag<Own<T, Dim>>
Sourcepub fn column_vector(&self) -> ColRef<'_, T, Dim>
pub fn column_vector(&self) -> ColRef<'_, T, Dim>
returns the diagonal as a column vector
Sourcepub fn column_vector_mut(&mut self) -> ColMut<'_, T, Dim>
pub fn column_vector_mut(&mut self) -> ColMut<'_, T, Dim>
returns the diagonal as a column vector
Sourcepub fn into_column_vector(self) -> Col<T, Dim>
pub fn into_column_vector(self) -> Col<T, Dim>
returns the diagonal as a column vector
Sourcepub fn as_dyn(&self) -> DiagRef<'_, T>
pub fn as_dyn(&self) -> DiagRef<'_, T>
see DiagRef::as_dyn
Sourcepub fn as_dyn_mut(&mut self) -> DiagMut<'_, T>
pub fn as_dyn_mut(&mut self) -> DiagMut<'_, T>
Sourcepub fn as_shape_mut<D: Shape>(&mut self, len: D) -> DiagMut<'_, T, D>
pub fn as_shape_mut<D: Shape>(&mut self, len: D) -> DiagMut<'_, T, D>
Sourcepub fn conjugate_mut(&mut self) -> DiagMut<'_, T::Conj, Dim>where
T: Conjugate,
pub fn conjugate_mut(&mut self) -> DiagMut<'_, T::Conj, Dim>where
T: Conjugate,
Sourcepub fn canonical_mut(&mut self) -> DiagMut<'_, T::Canonical, Dim>where
T: Conjugate,
pub fn canonical_mut(&mut self) -> DiagMut<'_, T::Canonical, Dim>where
T: Conjugate,
Sourcepub fn zeros(dim: Dim) -> Selfwhere
T: ComplexField,
pub fn zeros(dim: Dim) -> Selfwhere
T: ComplexField,
returns a new diagonal with dimension dim, filled with zeros
Sourcepub fn ones(dim: Dim) -> Selfwhere
T: ComplexField,
pub fn ones(dim: Dim) -> Selfwhere
T: ComplexField,
returns a new diagonal with dimension dim, filled with ones
Sourcepub fn full(dim: Dim, value: T) -> Selfwhere
T: Clone,
pub fn full(dim: Dim, value: T) -> Selfwhere
T: Clone,
returns a new diagonal with dimension dim, filled with value
Sourcepub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
rhs: impl AsDiagRef<T = RhsT, Dim = Dim>,
)where
T: ComplexField,
pub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
rhs: impl AsDiagRef<T = RhsT, Dim = Dim>,
)where
T: ComplexField,
copies other into self
Source§impl<'a, T, Dim: Shape, Stride: Stride> Diag<Ref<'a, T, Dim, Stride>>
impl<'a, T, Dim: Shape, Stride: Stride> Diag<Ref<'a, T, Dim, Stride>>
Sourcepub const unsafe fn from_raw_parts(
ptr: *const T,
dim: Dim,
stride: Stride,
) -> Self
pub const unsafe fn from_raw_parts( ptr: *const T, dim: Dim, stride: Stride, ) -> Self
creates a DiagRef from pointers to the diagonal data, dimension, and stride
§safety
this function has the same safety requirements as
[MatRef::from_raw_parts(ptr, dim, 1, stride, 0)]
Sourcepub fn column_vector(self) -> ColRef<'a, T, Dim, Stride>
pub fn column_vector(self) -> ColRef<'a, T, Dim, Stride>
returns the diagonal as a column vector view.
Sourcepub fn as_shape<D: Shape>(self, len: D) -> DiagRef<'a, T, D, Stride>
pub fn as_shape<D: Shape>(self, len: D) -> DiagRef<'a, T, D, Stride>
returns the input matrix with the given shape after checking that it matches the current shape
Sourcepub fn as_dyn(self) -> DiagRef<'a, T, usize, Stride>
pub fn as_dyn(self) -> DiagRef<'a, T, usize, Stride>
returns the input matrix with dynamic shape
Sourcepub fn as_dyn_stride(self) -> DiagRef<'a, T, Dim>
pub fn as_dyn_stride(self) -> DiagRef<'a, T, Dim>
returns the input matrix with dynamic stride
Sourcepub fn conjugate(self) -> DiagRef<'a, T::Conj, Dim, Stride>where
T: Conjugate,
pub fn conjugate(self) -> DiagRef<'a, T::Conj, Dim, Stride>where
T: Conjugate,
returns a view over the conjugate of self
Source§impl<T, Dim: Shape, Stride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Dim, Stride>>> Diag<Inner>
impl<T, Dim: Shape, Stride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Dim, Stride>>> Diag<Inner>
Source§impl<Inner> Diag<Inner>
impl<Inner> Diag<Inner>
Sourcepub fn from_inner_ref(inner: &Inner) -> &Self
pub fn from_inner_ref(inner: &Inner) -> &Self
wrap by reference
Sourcepub fn from_inner_mut(inner: &mut Inner) -> &mut Self
pub fn from_inner_mut(inner: &mut Inner) -> &mut Self
wrap by mutable reference
Trait Implementations§
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Add<&Diag<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Add<&Diag<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Add<&Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Add<&Diag<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Add<Diag<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Add<Diag<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Add<Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Add<Diag<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> AddAssign<&Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> AddAssign<&Diag<R>> for Diag<L>
Source§fn add_assign(&mut self, rhs: &Diag<R>)
fn add_assign(&mut self, rhs: &Diag<R>)
+= operation. Read moreSource§impl<T: ComplexField, Dim: Shape, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> AddAssign<Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> AddAssign<Diag<R>> for Diag<L>
Source§fn add_assign(&mut self, rhs: Diag<R>)
fn add_assign(&mut self, rhs: Diag<R>)
+= operation. Read moreSource§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<&Scale<T>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<&Scale<T>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<&Scale<T>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<&Scale<T>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<&f64> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<&f64> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<&f64> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<&f64> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<Scale<T>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<Scale<T>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<Scale<T>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<Scale<T>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<f64> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<f64> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<f64> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Div<f64> for Diag<L>
Source§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&Scale<T>> for Diag<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&Scale<T>> for Diag<L>
Source§fn div_assign(&mut self, rhs: &Scale<T>)
fn div_assign(&mut self, rhs: &Scale<T>)
/= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&f64> for Diag<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&f64> for Diag<L>
Source§fn div_assign(&mut self, rhs: &f64)
fn div_assign(&mut self, rhs: &f64)
/= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<Scale<T>> for Diag<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<Scale<T>> for Diag<L>
Source§fn div_assign(&mut self, rhs: Scale<T>)
fn div_assign(&mut self, rhs: Scale<T>)
/= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<f64> for Diag<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<f64> for Diag<L>
Source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
/= operation. Read moreSource§impl<T, Dim: Shape, Stride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Dim, Stride>>> Index<<Dim as ShapeIdx>::Idx<usize>> for Diag<Inner>
impl<T, Dim: Shape, Stride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Dim, Stride>>> Index<<Dim as ShapeIdx>::Idx<usize>> for Diag<Inner>
Source§impl<T, Dim: Shape, Stride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Dim, Stride>> + for<'short> ReborrowMut<'short, Target = Mut<'short, T, Dim, Stride>>> IndexMut<<Dim as ShapeIdx>::Idx<usize>> for Diag<Inner>
impl<T, Dim: Shape, Stride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Dim, Stride>> + for<'short> ReborrowMut<'short, Target = Mut<'short, T, Dim, Stride>>> IndexMut<<Dim as ShapeIdx>::Idx<usize>> for Diag<Inner>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Dim, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Mat<L>
impl<T: ComplexField, Dim: Shape, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Dim, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Mat<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Row<L>
Source§impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Scale<T>
impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Scale<T>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &SparseColMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &SparseColMat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &SparseRowMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &SparseRowMat<L>
Source§impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &f64
impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &f64
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Dim, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Mat<L>
impl<T: ComplexField, Dim: Shape, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Dim, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Mat<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Row<L>
Source§impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Scale<T>
impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Scale<T>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for SparseColMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for SparseColMat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for SparseRowMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for SparseRowMat<L>
Source§impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for f64
impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for f64
Source§impl<T: ComplexField, Dim: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<&Scale<T>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<&Scale<T>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<&Scale<T>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<&Scale<T>> for Diag<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<&SparseColMat<R>> for &Diag<L>
impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<&SparseColMat<R>> for &Diag<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<&SparseColMat<R>> for Diag<L>
impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<&SparseColMat<R>> for Diag<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<&SparseRowMat<R>> for &Diag<L>
impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<&SparseRowMat<R>> for &Diag<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<&SparseRowMat<R>> for Diag<L>
impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<&SparseRowMat<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<&f64> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<&f64> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<&f64> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<&f64> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Dim, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Mat<L>
impl<T: ComplexField, Dim: Shape, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Dim, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Mat<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Row<L>
Source§impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Scale<T>
impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Scale<T>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &SparseColMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &SparseColMat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &SparseRowMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &SparseRowMat<L>
Source§impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &f64
impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &f64
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Dim, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Mat<L>
impl<T: ComplexField, Dim: Shape, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Dim, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Mat<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Row<L>
Source§impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Scale<T>
impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Scale<T>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for SparseColMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for SparseColMat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for SparseRowMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Dim>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for SparseRowMat<L>
Source§impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for f64
impl<T: ComplexField, Dim: Shape, RT: Conjugate<Canonical = T>, RStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for f64
Source§impl<T: ComplexField, Dim: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, Cols, RRStride, RCStride>>> Mul<Mat<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, Cols, RRStride, RCStride>>> Mul<Mat<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, Cols, RRStride, RCStride>>> Mul<Mat<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, Cols, RRStride, RCStride>>> Mul<Mat<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<Scale<T>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<Scale<T>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<Scale<T>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<Scale<T>> for Diag<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<SparseColMat<R>> for &Diag<L>
impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<SparseColMat<R>> for &Diag<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<SparseColMat<R>> for Diag<L>
impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<SparseColMat<R>> for Diag<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<SparseRowMat<R>> for &Diag<L>
impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<SparseRowMat<R>> for &Diag<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<SparseRowMat<R>> for Diag<L>
impl<I: Index, T: ComplexField, Cols: Shape, Dim: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Dim, Cols>>> Mul<SparseRowMat<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<f64> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<f64> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<f64> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>> Mul<f64> for Diag<L>
Source§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&Scale<T>> for Diag<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&Scale<T>> for Diag<L>
Source§fn mul_assign(&mut self, rhs: &Scale<T>)
fn mul_assign(&mut self, rhs: &Scale<T>)
*= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&f64> for Diag<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&f64> for Diag<L>
Source§fn mul_assign(&mut self, rhs: &f64)
fn mul_assign(&mut self, rhs: &f64)
*= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<Scale<T>> for Diag<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<Scale<T>> for Diag<L>
Source§fn mul_assign(&mut self, rhs: Scale<T>)
fn mul_assign(&mut self, rhs: Scale<T>)
*= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<f64> for Diag<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<f64> for Diag<L>
Source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
*= operation. Read moreSource§impl<T: Conjugate, Dim: Shape, Stride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Dim, Stride>>> Neg for &Diag<Inner>
impl<T: Conjugate, Dim: Shape, Stride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Dim, Stride>>> Neg for &Diag<Inner>
Source§impl<T: Conjugate, Dim: Shape, Stride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Dim, Stride>>> Neg for Diag<Inner>
impl<T: Conjugate, Dim: Shape, Stride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Dim, Stride>>> Neg for Diag<Inner>
Source§impl<LT: PartialEq<RT>, LDim: Shape, LStride: Stride, RT, RDim: Shape, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, LDim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, RDim, RStride>>> PartialEq<Diag<R>> for Diag<L>
impl<LT: PartialEq<RT>, LDim: Shape, LStride: Stride, RT, RDim: Shape, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, LDim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, RDim, RStride>>> PartialEq<Diag<R>> for Diag<L>
Source§impl<'short, Inner: ReborrowMut<'short>> ReborrowMut<'short> for Diag<Inner>
impl<'short, Inner: ReborrowMut<'short>> ReborrowMut<'short> for Diag<Inner>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Sub<&Diag<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Sub<&Diag<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Sub<&Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Sub<&Diag<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Sub<Diag<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Sub<Diag<R>> for &Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Sub<Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Sub<Diag<R>> for Diag<L>
Source§impl<T: ComplexField, Dim: Shape, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> SubAssign<&Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> SubAssign<&Diag<R>> for Diag<L>
Source§fn sub_assign(&mut self, rhs: &Diag<R>)
fn sub_assign(&mut self, rhs: &Diag<R>)
-= operation. Read moreSource§impl<T: ComplexField, Dim: Shape, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> SubAssign<Diag<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> SubAssign<Diag<R>> for Diag<L>
Source§fn sub_assign(&mut self, rhs: Diag<R>)
fn sub_assign(&mut self, rhs: Diag<R>)
-= operation. Read moreimpl<Inner: Copy> Copy for Diag<Inner>
Auto Trait Implementations§
impl<Inner> Freeze for Diag<Inner>where
Inner: Freeze,
impl<Inner> RefUnwindSafe for Diag<Inner>where
Inner: RefUnwindSafe,
impl<Inner> Send for Diag<Inner>where
Inner: Send,
impl<Inner> Sync for Diag<Inner>where
Inner: Sync,
impl<Inner> Unpin for Diag<Inner>where
Inner: Unpin,
impl<Inner> UnwindSafe for Diag<Inner>where
Inner: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more