Limits

Trait Limits 

Source
pub trait Limits {
    // Required methods
    fn limit(&self, variable: &Symbol, point: &Expression) -> Expression;
    fn limit_directed(
        &self,
        variable: &Symbol,
        point: &Expression,
        direction: LimitDirection,
    ) -> Expression;
    fn limit_at_infinity(&self, variable: &Symbol) -> Expression;
    fn limit_at_negative_infinity(&self, variable: &Symbol) -> Expression;
}
Expand description

Trait for limit operations

Required Methods§

Source

fn limit(&self, variable: &Symbol, point: &Expression) -> Expression

Compute two-sided limit

§Examples
use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::Limits;

let x = symbol!(x);
let expr = Expression::mul(vec![
    Expression::symbol(x.clone()),
    Expression::function("sin", vec![Expression::symbol(x.clone())])
]);
let point = Expression::integer(0);
let result = expr.limit(&x, &point);
Source

fn limit_directed( &self, variable: &Symbol, point: &Expression, direction: LimitDirection, ) -> Expression

Compute one-sided limit

§Examples
use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::{Limits, LimitDirection};

let x = symbol!(x);
let expr = Expression::pow(Expression::symbol(x.clone()), Expression::integer(-1));
let point = Expression::integer(0);
let result = expr.limit_directed(&x, &point, LimitDirection::Right);
Source

fn limit_at_infinity(&self, variable: &Symbol) -> Expression

Compute limit at infinity

§Examples
use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::Limits;

let x = symbol!(x);
let expr = Expression::pow(Expression::symbol(x.clone()), Expression::integer(-1));
let result = expr.limit_at_infinity(&x);
Source

fn limit_at_negative_infinity(&self, variable: &Symbol) -> Expression

Compute limit at negative infinity

§Examples
use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::Limits;

let x = symbol!(x);
let expr = Expression::function("exp", vec![Expression::symbol(x.clone())]);
let result = expr.limit_at_negative_infinity(&x);

Implementors§