pub enum PatternKey {
Show 23 variants
Power {
exponent: i64,
},
Reciprocal,
SquareRoot,
ReciprocalSquareRoot,
Exponential {
coefficient: i64,
},
GeneralExponential,
NaturalLog,
Sine {
coefficient: i64,
},
Cosine {
coefficient: i64,
},
Tangent,
Cotangent,
Secant,
Cosecant,
SineSquared,
CosineSquared,
ArctanPattern {
a_squared: i64,
},
ArcsinPattern {
a_squared: i64,
},
HyperbolicSine,
HyperbolicCosine,
HyperbolicTangent,
XTimesExp,
XSquaredTimesExp,
XTimesLog,
}Expand description
Pattern key for table lookup
Represents common integration patterns that can be matched and integrated using closed-form formulas.
Variants§
Power
Power function: x^n (for n != -1)
Reciprocal
Reciprocal: 1/x
SquareRoot
Square root: sqrt(x)
ReciprocalSquareRoot
Reciprocal square root: 1/sqrt(x)
Exponential
Exponential: e^(ax)
GeneralExponential
General exponential: a^x
NaturalLog
Natural logarithm: ln(x)
Sine
Sine: sin(ax)
Cosine
Cosine: cos(ax)
Tangent
Tangent: tan(x)
Cotangent
Cotangent: cot(x)
Secant
Secant: sec(x)
Cosecant
Cosecant: csc(x)
SineSquared
Sine squared: sin^2(x)
CosineSquared
Cosine squared: cos^2(x)
ArctanPattern
Arctangent pattern: 1/(x^2 + a^2)
ArcsinPattern
Arcsine pattern: 1/sqrt(a^2 - x^2)
HyperbolicSine
Hyperbolic sine: sinh(x)
HyperbolicCosine
Hyperbolic cosine: cosh(x)
HyperbolicTangent
Hyperbolic tangent: tanh(x)
XTimesExp
Product pattern: x*e^x
XSquaredTimesExp
Product pattern: x^2*e^x
XTimesLog
Product pattern: x*ln(x)
Trait Implementations§
Source§impl Clone for PatternKey
impl Clone for PatternKey
Source§fn clone(&self) -> PatternKey
fn clone(&self) -> PatternKey
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PatternKey
impl Debug for PatternKey
Source§impl Hash for PatternKey
impl Hash for PatternKey
Source§impl PartialEq for PatternKey
impl PartialEq for PatternKey
impl Eq for PatternKey
impl StructuralPartialEq for PatternKey
Auto Trait Implementations§
impl Freeze for PatternKey
impl RefUnwindSafe for PatternKey
impl Send for PatternKey
impl Sync for PatternKey
impl Unpin for PatternKey
impl UnwindSafe for PatternKey
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> 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 more