pub struct SpecialProperties {
pub has_derivative: bool,
pub has_antiderivative: bool,
pub antiderivative_rule: Option<AntiderivativeRule>,
pub recurrence_relations: Vec<RecurrenceRule>,
pub differential_equation: Option<DifferentialEquation>,
pub special_values: Vec<SpecialValue>,
pub asymptotic_behavior: Option<AsymptoticData>,
pub wolfram_name: Option<&'static str>,
}Expand description
Special function properties (gamma, bessel, zeta, etc.)
Comprehensive mathematical properties for advanced special functions following SymPy’s approach but optimized for performance.
Note: Evaluation is handled by direct dispatch through
Expression::evaluate_function_dispatch() for performance.
This struct stores only mathematical properties, not evaluation logic.
Fields§
§has_derivative: boolQuick derivative check
has_antiderivative: boolQuick antiderivative check
antiderivative_rule: Option<AntiderivativeRule>Antiderivative rule (if known)
recurrence_relations: Vec<RecurrenceRule>Recurrence relations for symbolic computation Examples: Γ(n+1) = n·Γ(n), J_{n+1} = (2n/x)J_n - J_{n-1}
differential_equation: Option<DifferentialEquation>Differential equation the function satisfies Examples: Bessel DE, hypergeometric DE
special_values: Vec<SpecialValue>Special values for exact computation
asymptotic_behavior: Option<AsymptoticData>Asymptotic behavior for large arguments
wolfram_name: Option<&'static str>Wolfram Language function name Used for Wolfram formatting without hardcoded matches Example: “gamma” → “Gamma”, “zeta” → “Zeta”
Trait Implementations§
Source§impl Clone for SpecialProperties
impl Clone for SpecialProperties
Source§fn clone(&self) -> SpecialProperties
fn clone(&self) -> SpecialProperties
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SpecialProperties
impl !RefUnwindSafe for SpecialProperties
impl Send for SpecialProperties
impl Sync for SpecialProperties
impl Unpin for SpecialProperties
impl !UnwindSafe for SpecialProperties
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
§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)
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>
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>
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