Skip to main content

Crate simsym

Crate simsym 

Source
Expand description

simsym — a simple symbolic computation library.

§Cargo features

Build a minimal core (expression AST, rationals, evaluation only):

cargo build --no-default-features
use simsym::prelude::*;
let x = symbol("x");
let f = x.pow(2) + rational(2, 1) * x;
let val = f.eval(&[(x, rational(1, 2))]).unwrap();
assert_eq!(val, rational(5, 4));

Re-exports§

pub use eval::EvalError;
pub use expr::Expr;
pub use constant::Constant;
pub use rational::rational;
pub use rational::rational_from_i32;
pub use rational::Rational;
pub use symbol::symbol;
pub use symbol::Symbol;
pub use calculus::integrate_numeric;
pub use calculus::DefiniteIntegralError;
pub use calculus::NumericOptions;
pub use calculus::integrate;
pub use calculus::integrate;
pub use calculus::integrate_definite;
pub use calculus::IntegrateError;
pub use calculus::diff;
pub use calculus::diff;
pub use calculus::diff_without_simplify;
pub use calculus::gradient;
pub use calculus::hessian;

Modules§

calculus
Symbolic and numeric calculus (enabled via Cargo features).
constant
Expression constants: Rational or, with the bigint feature, arbitrary-precision [BigRational].
display
eval
expr
poly
Univariate polynomial normal form: combine like terms, order by descending degree.
prelude
rational
simplify
symbol

Macros§

expr

Enums§

RationalConvertError

Functions§

acos
acosh
acot
acoth
acsc
acsch
asec
asech
asin
asinh
atan
atanh
cos
cosh
cot
coth
csc
csch
exp
ln
sec
sech
sin
sinh
tan
tanh