pub struct HyperDual {
pub re: f64,
pub e1: f64,
pub e2: f64,
pub e12: f64,
}Expand description
A second-order (hyper-)dual number re + e1·ε₁ + e2·ε₂ + e12·ε₁ε₂, with ε₁² = ε₂² = 0. Seeding ε₁
and ε₂ on two inputs makes e12 the exact mixed partial ∂²f/∂x∂y; seeding both on the same input
makes e12 = f''.
Fields§
§re: f64§e1: f64§e2: f64§e12: f64Implementations§
Source§impl HyperDual
impl HyperDual
Sourcepub fn var2(x: f64) -> Self
pub fn var2(x: f64) -> Self
A value seeded active in both infinitesimal directions — used to read the pure second derivative
f''(x) from e12.
Sourcepub fn var_e1(x: f64) -> Self
pub fn var_e1(x: f64) -> Self
A value seeded active in the ε₁ direction only (for mixed partials).
Trait Implementations§
impl Copy for HyperDual
Auto Trait Implementations§
impl Freeze for HyperDual
impl RefUnwindSafe for HyperDual
impl Send for HyperDual
impl Sync for HyperDual
impl Unpin for HyperDual
impl UnsafeUnpin for HyperDual
impl UnwindSafe for HyperDual
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ClosedNeg for Twhere
T: Neg<Output = T>,
impl<T, U> Imply<T> for U
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>
Converts
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>
Converts
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 moreSource§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.