Skip to main content

sim_lib_numbers_numeric/
lib.rs

1#![forbid(unsafe_code)]
2#![allow(deprecated)]
3#![deny(missing_docs)]
4
5//! Numeric evaluation surface: the `numeric` domain exposes `numeric-diff`,
6//! `integrate`, `ode-solve`, and composed pipelines over a registry of pluggable
7//! differentiator, quadrature, and ODE-solver backends.
8//!
9//! A composed pipeline pairs a `Func` or ordinary callable with a numeric domain
10//! such as quadrature or ODE solving, a method such as `simpson` or `rk4`, and a
11//! state kind. The resulting [`ComposedPipeline`] is a first-class runtime value
12//! that can be inspected and run through `numeric/run-composed`.
13
14mod implementation;
15
16pub use implementation::{
17    ComposedPipeline, DiffOpts, Differentiator, Func, NumericCallable, NumericKind,
18    NumericNumbersLib, NumericPlugin, OdeOpts, OdeProblem, OdeSolver, PipelineKind, QuadOpts,
19    Quadrature, StateKind, global_numeric_registry, integrate_adapt_symbol, integrate_symbol,
20    numeric_compose_symbol, numeric_diff_symbol, numeric_run_composed_symbol, ode_solve_symbol,
21    register_differentiator, register_ode_solver, register_quadrature,
22};
23
24/// Cookbook recipes for this lib, embedded at build time.
25pub static RECIPES: sim_cookbook::EmbeddedDir =
26    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));
27
28#[cfg(test)]
29mod tests;