pub struct Dual { /* private fields */ }Expand description
First-order dual number.
Implementations§
Trait Implementations§
Source§impl AddAssign<f64> for Dual
impl AddAssign<f64> for Dual
Source§fn add_assign(&mut self, rhs: f64)
fn add_assign(&mut self, rhs: f64)
Performs the
+= operation. Read moreSource§impl AddAssign for Dual
impl AddAssign for Dual
Source§fn add_assign(&mut self, other: Dual)
fn add_assign(&mut self, other: Dual)
Performs the
+= operation. Read moreSource§impl DivAssign<f64> for Dual
impl DivAssign<f64> for Dual
Source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
Performs the
/= operation. Read moreSource§impl DivAssign for Dual
impl DivAssign for Dual
Source§fn div_assign(&mut self, other: Dual)
fn div_assign(&mut self, other: Dual)
Performs the
/= operation. Read moreSource§impl Float for Dual
impl Float for Dual
Source§fn neg_infinity() -> Self
fn neg_infinity() -> Self
Returns the negative infinite value. 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 min_positive_value() -> Self
fn min_positive_value() -> Self
Returns the smallest positive, normalized 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 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 is_sign_positive(self) -> bool
fn is_sign_positive(self) -> bool
Source§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 -Float::nan(). 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 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 MulAssign<f64> for Dual
impl MulAssign<f64> for Dual
Source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
Performs the
*= operation. Read moreSource§impl MulAssign for Dual
impl MulAssign for Dual
Source§fn mul_assign(&mut self, other: Dual)
fn mul_assign(&mut self, other: Dual)
Performs the
*= operation. Read moreSource§impl Num for Dual
impl Num for Dual
type FromStrRadixErr = <f64 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 PartialOrd for Dual
impl PartialOrd for Dual
Source§impl RemAssign<f64> for Dual
impl RemAssign<f64> for Dual
Source§fn rem_assign(&mut self, rhs: f64)
fn rem_assign(&mut self, rhs: f64)
Performs the
%= operation. Read moreSource§impl RemAssign for Dual
impl RemAssign for Dual
Source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
Performs the
%= operation. Read moreSource§impl SubAssign<f64> for Dual
impl SubAssign<f64> for Dual
Source§fn sub_assign(&mut self, rhs: f64)
fn sub_assign(&mut self, rhs: f64)
Performs the
-= operation. Read moreSource§impl SubAssign for Dual
impl SubAssign for Dual
Source§fn sub_assign(&mut self, other: Dual)
fn sub_assign(&mut self, other: Dual)
Performs the
-= operation. Read moreSource§impl ToPrimitive for Dual
impl ToPrimitive for Dual
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_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_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§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_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
Converts the value of
self to an i128. If the value cannot be
represented by an i128 (i64 under the default implementation), then
None is returned. Read moreSource§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§impl Trig for Dual
Available on crate feature trig only.
impl Trig for Dual
Available on crate feature
trig only.Source§fn sin(&self) -> Dual
fn sin(&self) -> Dual
Computes the sine of this value, where this value is in radians. Read more
Source§fn cos(&self) -> Dual
fn cos(&self) -> Dual
Computes the cosine of this value, where this value is in radians. Read more
Source§fn tan(&self) -> Dual
fn tan(&self) -> Dual
Computes the tangent of this value, where this value is in radians. Read more
Source§fn csc(&self) -> Dual
fn csc(&self) -> Dual
Computes the cosecant of this value, where this value is in radians. Read more
Source§fn sec(&self) -> Dual
fn sec(&self) -> Dual
Computes the secant of this value, where this value is in radians. Read more
Source§fn cot(&self) -> Dual
fn cot(&self) -> Dual
Computes the cotangent of this value, where this value is in radians. Read more
Source§fn asin(&self) -> Dual
fn asin(&self) -> Dual
Computes the inverse sine of this value, returning the result in radians. Read more
Source§fn acos(&self) -> Dual
fn acos(&self) -> Dual
Computes the inverse cosine of this value, returning the result in radians. Read more
Source§fn atan(&self) -> Dual
fn atan(&self) -> Dual
Computes the inverse tangent of this value, returning the result in radians. Read more
Source§fn atan2(&self, other: &Dual) -> Dual
fn atan2(&self, other: &Dual) -> Dual
Computes the four-quadrant inverse tangent of
self (y) and other (x), returning the
result in radians. Read moreSource§fn acsc(&self) -> Dual
fn acsc(&self) -> Dual
Computes the inverse cosecant of this value, returning the result in radians. Read more
Source§fn asec(&self) -> Dual
fn asec(&self) -> Dual
Computes the inverse secant of this value, returning the result in radians. Read more
Source§fn acot(&self) -> Dual
fn acot(&self) -> Dual
Computes the inverse cotangent of this value, returning the result in radians. Read more
Source§fn sind(&self) -> Dual
fn sind(&self) -> Dual
Computes the sine of this value, where this value is in degrees. Read more
Source§fn cosd(&self) -> Dual
fn cosd(&self) -> Dual
Computes the cosine of this value, where this value is in degrees. Read more
Source§fn tand(&self) -> Dual
fn tand(&self) -> Dual
Computes the tangent of this value, where this value is in degrees. Read more
Source§fn cscd(&self) -> Dual
fn cscd(&self) -> Dual
Computes the cosecant of this value, where this value is in degrees. Read more
Source§fn secd(&self) -> Dual
fn secd(&self) -> Dual
Computes the secant of this value, where this value is in degrees. Read more
Source§fn cotd(&self) -> Dual
fn cotd(&self) -> Dual
Computes the cotangent of this value, where this value is in degrees. Read more
Source§fn asind(&self) -> Dual
fn asind(&self) -> Dual
Computes the inverse sine of this value, returning the result in degrees. Read more
Source§fn acosd(&self) -> Dual
fn acosd(&self) -> Dual
Computes the inverse cosine of this value, returning the result in degrees. Read more
Source§fn atand(&self) -> Dual
fn atand(&self) -> Dual
Computes the inverse tangent of this value, returning the result in degrees. Read more
Source§fn atan2d(&self, other: &Dual) -> Dual
fn atan2d(&self, other: &Dual) -> Dual
Computes the four-quadrant inverse tangent of
self (y) and other (x), returning the
result in degrees. Read moreSource§fn acscd(&self) -> Dual
fn acscd(&self) -> Dual
Computes the inverse cosecant of this value, returning the result in degrees. Read more
Source§fn asecd(&self) -> Dual
fn asecd(&self) -> Dual
Computes the inverse secant of this value, returning the result in degrees. Read more
impl Copy for Dual
Auto Trait Implementations§
impl Freeze for Dual
impl RefUnwindSafe for Dual
impl Send for Dual
impl Sync for Dual
impl Unpin for Dual
impl UnwindSafe for Dual
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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