Struct hyperdual::OHyperdual
source · pub struct OHyperdual<T: Copy + Scalar, N: Dim + DimName>(_)
where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy;
Expand description
Dual Number structure
Although Dual
does implement PartialEq
and PartialOrd
,
it only compares the real part.
Additionally, min
and max
only compare the real parts, and keep the dual parts.
Lastly, the Rem
remainder operator is not correctly or fully defined for Dual
, and will panic.
Implementations§
source§impl<T: Copy + Scalar, N: Dim + DimName> OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar, N: Dim + DimName> OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
Trait Implementations§
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Add<&OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Add<&OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Add<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Add<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Add<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Add<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> AddAssign<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> AddAssign<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl<T: Copy + Scalar + Num, N: Dim + DimName> AddAssign<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> AddAssign<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn add_assign(&mut self, rhs: T)
fn add_assign(&mut self, rhs: T)
Performs the
+=
operation. Read moresource§impl<T: Copy + Scalar, N: Dim + DimName> AsMut<Matrix<T, N, Const<1>, <DefaultAllocator as Allocator<T, N, Const<1>>>::Buffer>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar, N: Dim + DimName> AsMut<Matrix<T, N, Const<1>, <DefaultAllocator as Allocator<T, N, Const<1>>>::Buffer>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar, N: Dim + DimName> AsRef<Matrix<T, N, Const<1>, <DefaultAllocator as Allocator<T, N, Const<1>>>::Buffer>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar, N: Dim + DimName> AsRef<Matrix<T, N, Const<1>, <DefaultAllocator as Allocator<T, N, Const<1>>>::Buffer>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Clone + Copy + Scalar, N: Clone + Dim + DimName> Clone for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Clone + Copy + Scalar, N: Clone + Dim + DimName> Clone for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn clone(&self) -> OHyperdual<T, N>
fn clone(&self) -> OHyperdual<T, N>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<T: Copy + Scalar, N: Dim + DimName> Debug for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar, N: Dim + DimName> Debug for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num + Zero, N: Dim + DimName> Default for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Zero, N: Dim + DimName> Default for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar, N: Dim + DimName> Deref for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar, N: Dim + DimName> Deref for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar, N: Dim + DimName> DerefMut for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar, N: Dim + DimName> DerefMut for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Display, N: Dim + DimName> Display for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Display, N: Dim + DimName> Display for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Div<&OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Div<&OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Div<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Div<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Div<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Div<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> DivAssign<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> DivAssign<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
Performs the
/=
operation. Read moresource§impl<T: Copy + Scalar + Num, N: Dim + DimName> DivAssign<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> DivAssign<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn div_assign(&mut self, rhs: T)
fn div_assign(&mut self, rhs: T)
Performs the
/=
operation. Read moresource§impl<T, N: Dim + DimName> Float for OHyperdual<T, N>where
T: Float + Signed + FloatConst + Copy + Scalar,
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T, N: Dim + DimName> Float for OHyperdual<T, N>where T: Float + Signed + FloatConst + Copy + Scalar, DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn neg_infinity() -> Self
fn neg_infinity() -> Self
Returns the negative infinite value. Read more
source§fn min_positive_value() -> Self
fn min_positive_value() -> Self
Returns the smallest positive, normalized value that this type can represent. Read more
source§fn min_value() -> Self
fn min_value() -> Self
Returns the smallest finite value that this type can represent. Read more
source§fn max_value() -> Self
fn max_value() -> Self
Returns the largest finite value that this type can represent. Read more
source§fn is_infinite(self) -> bool
fn is_infinite(self) -> bool
Returns
true
if this value is positive infinity or negative infinity and
false otherwise. Read moresource§fn is_sign_positive(self) -> bool
fn is_sign_positive(self) -> bool
Returns
true
if self
is positive, including +0.0
,
Float::infinity()
, and since Rust 1.20 also Float::nan()
. Read moresource§fn is_sign_negative(self) -> bool
fn is_sign_negative(self) -> bool
Returns
true
if self
is negative, including -0.0
,
Float::neg_infinity()
, and since Rust 1.20 also -Float::nan()
. Read moresource§fn classify(self) -> FpCategory
fn classify(self) -> FpCategory
Returns the floating point category of the number. If only one property
is going to be tested, it is generally faster to use the specific
predicate instead. Read more
source§fn ceil(self) -> Self
fn ceil(self) -> Self
Returns the smallest integer greater than or equal to a number. Read more
source§fn round(self) -> Self
fn round(self) -> Self
Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read moresource§fn mul_add(self, a: Self, b: Self) -> Self
fn mul_add(self, a: Self, b: Self) -> Self
Fused multiply-add. Computes
(self * a) + b
with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read moresource§fn log(self, base: Self) -> Self
fn log(self, base: Self) -> Self
Returns the logarithm of the number with respect to an arbitrary base. Read more
source§fn hypot(self, other: Self) -> Self
fn hypot(self, other: Self) -> Self
Calculate the length of the hypotenuse of a right-angle triangle given
legs of length
x
and y
. Read moresource§fn asin(self) -> Self
fn asin(self) -> Self
Computes the arcsine of a number. Return value is in radians in
the range [-pi/2, pi/2] or NaN if the number is outside the range
[-1, 1]. Read more
source§fn acos(self) -> Self
fn acos(self) -> Self
Computes the arccosine of a number. Return value is in radians in
the range [0, pi] or NaN if the number is outside the range
[-1, 1]. Read more
source§fn atan(self) -> Self
fn atan(self) -> Self
Computes the arctangent of a number. Return value is in radians in the
range [-pi/2, pi/2]; Read more
source§fn sin_cos(self) -> (Self, Self)
fn sin_cos(self) -> (Self, Self)
source§fn exp_m1(self) -> Self
fn exp_m1(self) -> Self
Returns
e^(self) - 1
in a way that is accurate even if the
number is close to zero. Read moresource§fn ln_1p(self) -> Self
fn ln_1p(self) -> Self
Returns
ln(1+n)
(natural logarithm) more accurately than if
the operations were performed separately. Read moresource§fn integer_decode(self) -> (u64, i16, i8)
fn integer_decode(self) -> (u64, i16, i8)
Returns the mantissa, base 2 exponent, and sign as integers, respectively.
The original number can be recovered by
sign * mantissa * 2 ^ exponent
. Read moresource§fn to_degrees(self) -> Self
fn to_degrees(self) -> Self
Converts radians to degrees. Read more
source§fn to_radians(self) -> Self
fn to_radians(self) -> Self
Converts degrees to radians. Read more
source§impl<T: Copy + Scalar + FloatConst + Zero, N: Dim + DimName> FloatConst for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + FloatConst + Zero, N: Dim + DimName> FloatConst for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn FRAC_1_SQRT_2() -> Self
fn FRAC_1_SQRT_2() -> Self
Return
1.0 / sqrt(2.0)
.source§fn FRAC_2_SQRT_PI() -> Self
fn FRAC_2_SQRT_PI() -> Self
Return
2.0 / sqrt(π)
.source§impl<T: Copy + Scalar + Zero, N: Dim + DimName> From<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Zero, N: Dim + DimName> From<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T, N: Dim + DimName> FromPrimitive for OHyperdual<T, N>where
T: Zero + Copy + Scalar + FromPrimitive,
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T, N: Dim + DimName> FromPrimitive for OHyperdual<T, N>where T: Zero + Copy + Scalar + FromPrimitive, DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn from_isize(n: isize) -> Option<OHyperdual<T, N>>
fn from_isize(n: isize) -> Option<OHyperdual<T, N>>
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<OHyperdual<T, N>>
fn from_i8(n: i8) -> Option<OHyperdual<T, N>>
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<OHyperdual<T, N>>
fn from_i16(n: i16) -> Option<OHyperdual<T, N>>
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<OHyperdual<T, N>>
fn from_i32(n: i32) -> Option<OHyperdual<T, N>>
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<OHyperdual<T, N>>
fn from_i64(n: i64) -> Option<OHyperdual<T, N>>
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_usize(n: usize) -> Option<OHyperdual<T, N>>
fn from_usize(n: usize) -> Option<OHyperdual<T, N>>
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<OHyperdual<T, N>>
fn from_u8(n: u8) -> Option<OHyperdual<T, N>>
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<OHyperdual<T, N>>
fn from_u16(n: u16) -> Option<OHyperdual<T, N>>
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<OHyperdual<T, N>>
fn from_u32(n: u32) -> Option<OHyperdual<T, N>>
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<OHyperdual<T, N>>
fn from_u64(n: u64) -> Option<OHyperdual<T, N>>
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_f32(n: f32) -> Option<OHyperdual<T, N>>
fn from_f32(n: f32) -> Option<OHyperdual<T, N>>
Converts a
f32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_f64(n: f64) -> Option<OHyperdual<T, N>>
fn from_f64(n: f64) -> Option<OHyperdual<T, N>>
Converts a
f64
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: Copy + Scalar, N: Dim + DimName> Inv for OHyperdual<T, N>where
Self: One + Div<Output = Self>,
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar, N: Dim + DimName> Inv for OHyperdual<T, N>where Self: One + Div<Output = Self>, DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + LowerExp, N: Dim + DimName> LowerExp for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + LowerExp, N: Dim + DimName> LowerExp for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Mul<&OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Mul<&OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Mul<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Mul<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Mul<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Mul<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAdd<OHyperdual<T, N>, OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAdd<OHyperdual<T, N>, OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAdd<OHyperdual<T, N>, T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAdd<OHyperdual<T, N>, T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAdd<T, OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAdd<T, OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAdd<T, T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAdd<T, T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAddAssign<OHyperdual<T, N>, OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAddAssign<OHyperdual<T, N>, OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn mul_add_assign(&mut self, a: Self, b: Self)
fn mul_add_assign(&mut self, a: Self, b: Self)
Performs the fused multiply-add operation.
source§impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAddAssign<OHyperdual<T, N>, T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAddAssign<OHyperdual<T, N>, T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn mul_add_assign(&mut self, a: Self, b: T)
fn mul_add_assign(&mut self, a: Self, b: T)
Performs the fused multiply-add operation.
source§impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAddAssign<T, OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAddAssign<T, OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn mul_add_assign(&mut self, a: T, b: Self)
fn mul_add_assign(&mut self, a: T, b: Self)
Performs the fused multiply-add operation.
source§impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAddAssign<T, T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Mul + Add, N: Dim + DimName> MulAddAssign<T, T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn mul_add_assign(&mut self, a: T, b: T)
fn mul_add_assign(&mut self, a: T, b: T)
Performs the fused multiply-add operation.
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> MulAssign<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> MulAssign<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*=
operation. Read moresource§impl<T: Copy + Scalar + Num, N: Dim + DimName> MulAssign<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> MulAssign<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn mul_assign(&mut self, rhs: T)
fn mul_assign(&mut self, rhs: T)
Performs the
*=
operation. Read moresource§impl<T: Copy + Scalar + Signed, N: Dim + DimName> Neg for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Signed, N: Dim + DimName> Neg for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Num for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Num for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
type FromStrRadixErr = <T as Num>::FromStrRadixErr
source§fn from_str_radix(
str: &str,
radix: u32
) -> Result<OHyperdual<T, N>, Self::FromStrRadixErr>
fn from_str_radix( str: &str, radix: u32 ) -> Result<OHyperdual<T, N>, Self::FromStrRadixErr>
Convert from a string and radix (typically
2..=36
). Read moresource§impl<T: Copy + Scalar + Float, N: Dim + DimName> NumCast for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Float, N: Dim + DimName> NumCast for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn from<P: ToPrimitive>(n: P) -> Option<OHyperdual<T, N>>
fn from<P: ToPrimitive>(n: P) -> Option<OHyperdual<T, N>>
Creates a number from another value that can be converted into
a primitive via the
ToPrimitive
trait. If the source value cannot be
represented by the target type, then None
is returned. Read moresource§impl<T: Copy + Scalar + Num + One, N: Dim + DimName> One for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + One, N: Dim + DimName> One for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + PartialEq, N: Dim + DimName> PartialEq<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + PartialEq, N: Dim + DimName> PartialEq<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + PartialEq, N: Dim + DimName> PartialEq<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + PartialEq, N: Dim + DimName> PartialEq<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + PartialOrd, N: Dim + DimName> PartialOrd<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + PartialOrd, N: Dim + DimName> PartialOrd<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + PartialOrd, N: Dim + DimName> PartialOrd<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + PartialOrd, N: Dim + DimName> PartialOrd<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar, P: Into<OHyperdual<T, N>>, N: Dim + DimName> Pow<P> for OHyperdual<T, N>where
OHyperdual<T, N>: Float,
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar, P: Into<OHyperdual<T, N>>, N: Dim + DimName> Pow<P> for OHyperdual<T, N>where OHyperdual<T, N>: Float, DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<'a, T: Copy + Scalar + Num + One, N: Dim + DimName> Product<&'a OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<'a, T: Copy + Scalar + Num + One, N: Dim + DimName> Product<&'a OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn product<I: Iterator<Item = &'a OHyperdual<T, N>>>(iter: I) -> Self
fn product<I: Iterator<Item = &'a OHyperdual<T, N>>>(iter: I) -> Self
Method which takes an iterator and generates
Self
from the elements by
multiplying the items.source§impl<T: Copy + Scalar + Num + One, N: Dim + DimName> Product<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + One, N: Dim + DimName> Product<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn product<I: Iterator<Item = OHyperdual<T, N>>>(iter: I) -> Self
fn product<I: Iterator<Item = OHyperdual<T, N>>>(iter: I) -> Self
Method which takes an iterator and generates
Self
from the elements by
multiplying the items.source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Rem<&OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Rem<&OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Rem<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Rem<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> RemAssign<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> RemAssign<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn rem_assign(&mut self, _: Self)
fn rem_assign(&mut self, _: Self)
Performs the
%=
operation. Read moresource§impl<T, N: Dim + DimName> Signed for OHyperdual<T, N>where
T: Signed + PartialOrd + Copy + Scalar,
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T, N: Dim + DimName> Signed for OHyperdual<T, N>where T: Signed + PartialOrd + Copy + Scalar, DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
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<T: Copy + Scalar + Num, N: Dim + DimName> Sub<&OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Sub<&OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Sub<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Sub<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> Sub<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> Sub<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§impl<T: Copy + Scalar + Num, N: Dim + DimName> SubAssign<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> SubAssign<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moresource§impl<T: Copy + Scalar + Num, N: Dim + DimName> SubAssign<T> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num, N: Dim + DimName> SubAssign<T> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn sub_assign(&mut self, rhs: T)
fn sub_assign(&mut self, rhs: T)
Performs the
-=
operation. Read moresource§impl<'a, T: Copy + Scalar + Num + Zero, N: Dim + DimName> Sum<&'a OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<'a, T: Copy + Scalar + Num + Zero, N: Dim + DimName> Sum<&'a OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn sum<I: Iterator<Item = &'a OHyperdual<T, N>>>(iter: I) -> Self
fn sum<I: Iterator<Item = &'a OHyperdual<T, N>>>(iter: I) -> Self
Method which takes an iterator and generates
Self
from the elements by
“summing up” the items.source§impl<T: Copy + Scalar + Num + Zero, N: Dim + DimName> Sum<OHyperdual<T, N>> for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Zero, N: Dim + DimName> Sum<OHyperdual<T, N>> for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn sum<I: Iterator<Item = OHyperdual<T, N>>>(iter: I) -> Self
fn sum<I: Iterator<Item = OHyperdual<T, N>>>(iter: I) -> Self
Method which takes an iterator and generates
Self
from the elements by
“summing up” the items.source§impl<T: Copy + Scalar + ToPrimitive, N: Dim + DimName> ToPrimitive for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + ToPrimitive, N: Dim + DimName> ToPrimitive for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
source§fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
Converts the value of
self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned.source§fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
Converts the value of
self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned.source§fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
Converts the value of
self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned.source§fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
Converts the value of
self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned.source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of
self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned.source§fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
Converts the value of
self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned.source§fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
Converts the value of
self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned.source§fn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
Converts the value of
self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned.source§fn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
Converts the value of
self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned.source§fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
Converts the value of
self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned.source§fn to_f32(&self) -> Option<f32>
fn to_f32(&self) -> Option<f32>
Converts the value of
self
to an f32
. Overflows may map to positive
or negative inifinity, otherwise None
is returned if the value cannot
be represented by an f32
.source§fn to_f64(&self) -> Option<f64>
fn to_f64(&self) -> Option<f64>
Converts the value of
self
to an f64
. Overflows may map to positive
or negative inifinity, otherwise None
is returned if the value cannot
be represented by an f64
. Read moresource§impl<T: Copy + Scalar + Num + Zero, N: Dim + DimName> Zero for OHyperdual<T, N>where
DefaultAllocator: Allocator<T, N>,
Owned<T, N>: Copy,
impl<T: Copy + Scalar + Num + Zero, N: Dim + DimName> Zero for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
impl<T: Copy + Copy + Scalar, N: Copy + Dim + DimName> Copy for OHyperdual<T, N>where DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
impl<T: Copy + Scalar + Unsigned, N: Dim + DimName> Unsigned for OHyperdual<T, N>where Self: Num, DefaultAllocator: Allocator<T, N>, Owned<T, N>: Copy,
Auto Trait Implementations§
impl<T, N> !RefUnwindSafe for OHyperdual<T, N>
impl<T, N> !Send for OHyperdual<T, N>
impl<T, N> !Sync for OHyperdual<T, N>
impl<T, N> !Unpin for OHyperdual<T, N>
impl<T, N> !UnwindSafe for OHyperdual<T, N>
Blanket Implementations§
source§impl<T> Real for Twhere
T: Float,
impl<T> Real for Twhere T: Float,
source§fn min_positive_value() -> T
fn min_positive_value() -> T
Returns the smallest positive, normalized value that this type can represent. Read more
source§fn round(self) -> T
fn round(self) -> T
Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read moresource§fn is_sign_positive(self) -> bool
fn is_sign_positive(self) -> bool
Returns
true
if self
is positive, including +0.0
,
Float::infinity()
, and with newer versions of Rust f64::NAN
. Read moresource§fn is_sign_negative(self) -> bool
fn is_sign_negative(self) -> bool
Returns
true
if self
is negative, including -0.0
,
Float::neg_infinity()
, and with newer versions of Rust -f64::NAN
. Read moresource§fn mul_add(self, a: T, b: T) -> T
fn mul_add(self, a: T, b: T) -> T
Fused multiply-add. Computes
(self * a) + b
with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read moresource§fn log(self, base: T) -> T
fn log(self, base: T) -> T
Returns the logarithm of the number with respect to an arbitrary base. Read more
source§fn to_degrees(self) -> T
fn to_degrees(self) -> T
Converts radians to degrees. Read more
source§fn to_radians(self) -> T
fn to_radians(self) -> T
Converts degrees to radians. Read more
source§fn hypot(self, other: T) -> T
fn hypot(self, other: T) -> T
Calculate the length of the hypotenuse of a right-angle triangle given
legs of length
x
and y
. Read moresource§fn asin(self) -> T
fn asin(self) -> T
Computes the arcsine of a number. Return value is in radians in
the range [-pi/2, pi/2] or NaN if the number is outside the range
[-1, 1]. Read more
source§fn acos(self) -> T
fn acos(self) -> T
Computes the arccosine of a number. Return value is in radians in
the range [0, pi] or NaN if the number is outside the range
[-1, 1]. Read more
source§fn atan(self) -> T
fn atan(self) -> T
Computes the arctangent of a number. Return value is in radians in the
range [-pi/2, pi/2]; Read more
source§fn exp_m1(self) -> T
fn exp_m1(self) -> T
Returns
e^(self) - 1
in a way that is accurate even if the
number is close to zero. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§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 more§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).§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.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.