pub struct Dual2Vec<T: DualNum<F>, F, D: Dim>where
DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,{
pub re: T,
pub v1: Derivative<T, F, U1, D>,
pub v2: Derivative<T, F, D, D>,
/* private fields */
}Expand description
A vector second order dual number for the calculation of Hessians.
Fields§
§re: TReal part of the second order dual number
v1: Derivative<T, F, U1, D>Gradient part of the second order dual number
v2: Derivative<T, F, D, D>Hessian part of the second order dual number
Implementations§
source§impl<T: DualNum<F>, F, D: Dim> Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
sourcepub fn new(
re: T,
v1: Derivative<T, F, U1, D>,
v2: Derivative<T, F, D, D>
) -> Self
pub fn new( re: T, v1: Derivative<T, F, U1, D>, v2: Derivative<T, F, D, D> ) -> Self
Create a new second order dual number from its fields.
Trait Implementations§
source§impl<'a, 'b, T: DualNum<F>, F: Float, D: Dim> Add<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<'a, 'b, T: DualNum<F>, F: Float, D: Dim> Add<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Add<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Add<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Add<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Add<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Add<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Add<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F, D: Dim> Add<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> Add<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F, D: Dim> AddAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> AddAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
Performs the
+= operation. Read moresource§impl<T: DualNum<F>, F, D: Dim> AddAssign<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> AddAssign<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn add_assign(&mut self, other: F)
fn add_assign(&mut self, other: F)
Performs the
+= operation. Read moresource§impl<T: Clone + DualNum<F>, F: Clone, D: Clone + Dim> Clone for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: Clone + DualNum<F>, F: Clone, D: Clone + Dim> Clone for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: Debug + DualNum<F>, F: Debug, D: Debug + Dim> Debug for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: Debug + DualNum<F>, F: Debug, D: Debug + Dim> Debug for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Display, D: Dim> Display for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Display, D: Dim> Display for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<'a, 'b, T: DualNum<F>, F: Float, D: Dim> Div<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<'a, 'b, T: DualNum<F>, F: Float, D: Dim> Div<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Div<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Div<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Div<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Div<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Div<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Div<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: DualNumFloat, D: Dim> Div<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: DualNumFloat, D: Dim> Div<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> DivAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> DivAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
Performs the
/= operation. Read moresource§impl<T: DualNum<F>, F: DualNumFloat, D: Dim> DivAssign<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: DualNumFloat, D: Dim> DivAssign<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn div_assign(&mut self, other: F)
fn div_assign(&mut self, other: F)
Performs the
/= operation. Read moresource§impl<T: DualNum<F>, F: DualNumFloat, D: Dim> DualNum<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: DualNumFloat, D: Dim> DualNum<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn sin_cos(&self) -> (Self, Self)
fn sin_cos(&self) -> (Self, Self)
Calculate sine and cosine simultaneously
source§impl<T: DualNum<F>, F: Float + FloatConst, D: Dim> FloatConst for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float + FloatConst, D: Dim> FloatConst for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F, D: Dim> From<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> From<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float + FromPrimitive, D: Dim> FromPrimitive for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float + FromPrimitive, D: Dim> FromPrimitive for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an
isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
Converts an
i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
Converts an
i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
Converts an
i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
Converts an
i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
Converts an
i128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moresource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a
usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
Converts an
u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
Converts an
u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
Converts an
u32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u64(n: u64) -> Option<Self>
fn from_u64(n: u64) -> Option<Self>
Converts an
u64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
Converts an
u128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moresource§impl<T: DualNum<F>, F: DualNumFloat, D: Dim> Inv for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: DualNumFloat, D: Dim> Inv for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<'a, 'b, T: DualNum<F>, F: Float, D: Dim> Mul<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<'a, 'b, T: DualNum<F>, F: Float, D: Dim> Mul<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Mul<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Mul<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Mul<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Mul<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Mul<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Mul<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: DualNumFloat, D: Dim> Mul<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: DualNumFloat, D: Dim> Mul<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> MulAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> MulAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
Performs the
*= operation. Read moresource§impl<T: DualNum<F>, F: DualNumFloat, D: Dim> MulAssign<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: DualNumFloat, D: Dim> MulAssign<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn mul_assign(&mut self, other: F)
fn mul_assign(&mut self, other: F)
Performs the
*= operation. Read moresource§impl<T: DualNum<F>, F: Float, D: Dim> Neg for &Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Neg for &Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Neg for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Neg for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F> + Signed, F: Float, D: Dim> Num for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F> + Signed, F: Float, D: Dim> Num for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
type FromStrRadixErr = <F as Num>::FromStrRadixErr
source§fn from_str_radix(
_str: &str,
_radix: u32
) -> Result<Self, Self::FromStrRadixErr>
fn from_str_radix( _str: &str, _radix: u32 ) -> Result<Self, Self::FromStrRadixErr>
Convert from a string and radix (typically
2..=36). Read moresource§impl<T: DualNum<F>, F: Float, D: Dim> One for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> One for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: PartialEq + DualNum<F>, F: PartialEq, D: PartialEq + Dim> PartialEq<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: PartialEq + DualNum<F>, F: PartialEq, D: PartialEq + Dim> PartialEq<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<'a, T: DualNum<F>, F: Float, D: Dim> Product<&'a Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<'a, T: DualNum<F>, F: Float, D: Dim> Product<&'a Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Product<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Product<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<'a, 'b, T: DualNum<F>, F, D: Dim> Rem<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<'a, 'b, T: DualNum<F>, F, D: Dim> Rem<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Rem<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Rem<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Rem<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Rem<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Rem<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Rem<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F, D: Dim> Rem<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> Rem<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F, D: Dim> RemAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> RemAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn rem_assign(&mut self, _other: Self)
fn rem_assign(&mut self, _other: Self)
Performs the
%= operation. Read moresource§impl<T: DualNum<F>, F, D: Dim> RemAssign<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> RemAssign<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn rem_assign(&mut self, _other: F)
fn rem_assign(&mut self, _other: F)
Performs the
%= operation. Read moresource§impl<T: DualNum<F>, F: DualNumFloat, D: Dim> Signed for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: DualNumFloat, D: Dim> Signed for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Returns true if the number is positive and false if the number is zero or negative.
source§fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Returns true if the number is negative and false if the number is zero or positive.
source§impl<'a, 'b, T: DualNum<F>, F: Float, D: Dim> Sub<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<'a, 'b, T: DualNum<F>, F: Float, D: Dim> Sub<&'a Dual2Vec<T, F, D>> for &'b Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Sub<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Sub<&Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Sub<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Sub<Dual2Vec<T, F, D>> for &Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Sub<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Sub<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F, D: Dim> Sub<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> Sub<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F, D: Dim> SubAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> SubAssign<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Performs the
-= operation. Read moresource§impl<T: DualNum<F>, F, D: Dim> SubAssign<F> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> SubAssign<F> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§fn sub_assign(&mut self, other: F)
fn sub_assign(&mut self, other: F)
Performs the
-= operation. Read moresource§impl<'a, T: DualNum<F>, F: Float, D: Dim> Sum<&'a Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<'a, T: DualNum<F>, F: Float, D: Dim> Sum<&'a Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Sum<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Sum<Dual2Vec<T, F, D>> for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
source§impl<T: DualNum<F>, F: Float, D: Dim> Zero for Dual2Vec<T, F, D>where
DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F: Float, D: Dim> Zero for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, D> + Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F> + Copy, F: Copy, const N: usize> Copy for Dual2Vec<T, F, Const<N>>
impl<T: Eq + DualNum<F>, F: Eq, D: Eq + Dim> Eq for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> StructuralEq for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
impl<T: DualNum<F>, F, D: Dim> StructuralPartialEq for Dual2Vec<T, F, D>where DefaultAllocator: Allocator<T, U1, D> + Allocator<T, D, D>,
Auto Trait Implementations§
impl<T, F, D> !RefUnwindSafe for Dual2Vec<T, F, D>
impl<T, F, D> !Send for Dual2Vec<T, F, D>
impl<T, F, D> !Sync for Dual2Vec<T, F, D>
impl<T, F, D> !Unpin for Dual2Vec<T, F, D>
impl<T, F, D> !UnwindSafe for Dual2Vec<T, F, D>
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
Mutably borrows from an owned value. Read more
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.