1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3
4mod arena;
5mod classify;
6mod eval;
7mod fold;
8mod handle;
9mod linear;
10mod ops;
11mod quadratic;
12mod render;
13mod simplify;
14mod visit;
15
16pub use arena::{
17 Children, ExprArena, ExprArenaBatchGuard, ExprArenaCell, ExprArenaSnapshot,
18 ExprArenaWriteGuard, ExprId, ExprIdRemap, ExprNode, ForkOutput, FrozenExprArena, ModelId,
19 ModelMismatchError, ParamId, UnaryOp, VarId,
20};
21pub use classify::{ExprClass, classify};
22pub use eval::{EvalContext, EvalError, evaluate};
23pub use handle::Expr;
24pub use linear::{LinearTerms, SignedExpr, describe_nonlinear_term, extract_linear, split_linear};
25pub use ops::dot;
26pub use quadratic::{QuadraticTerms, extract_quadratic};
27pub use render::{render_expr, render_linear_terms};
28pub use simplify::simplify;
29pub use visit::{Visitor, walk, walk_shared};