diff --git a/src/eval.rs b/src/eval.rs index 1b01066..ac745c2 100644 --- a/src/eval.rs +++ b/src/eval.rs @@ -5,6 +5,8 @@ pub mod differentiate; pub mod simplify; pub mod canonicalise; +use crate::expression::Expression; + pub use normalise::*; pub use const_fold::*; pub use compose::*; @@ -31,3 +33,14 @@ impl std::fmt::Display for Error { }) } } + +pub fn evaluator(var: char) + -> impl Evaluator { + crate::pipeline!( + Normaliser::new(), + Differentiator::new(var), + ConstFolder::new(), + Simplifier::new(), + ConstFolder::new(), + Canonicaliser::new()) +}