pub mod calculus;
pub mod complex;
pub mod error;
pub mod eval;
pub mod expr;
pub mod fft;
pub mod interpolate;
pub mod matrix;
pub mod numtheory;
pub mod bigint;
pub mod autodiff;
pub mod ode;
pub mod parser;
pub mod plot;
pub mod repl;
pub mod simplify;
pub mod solver;
pub mod special;
pub mod stats;
pub mod symbolic;
pub mod taylor;
pub mod laurent;
pub mod rational;
pub mod fastmath;
pub mod notebook;
pub mod server;
pub mod mathml;
pub mod serialize;
pub mod interval;
pub mod bigdec;
pub mod limit;
pub mod poly;
pub mod apart;
pub use error::{MathError, Result};
pub mod prelude {
pub use crate::complex::Complex;
pub use crate::error::{MathError, Result};
pub use crate::eval::{eval, eval_str, Context, Func};
pub use crate::expr::Expr;
pub use crate::parser::Parser;
pub use crate::simplify::simplify;
pub use crate::matrix::{Cholesky, EigenPair, Lu, Matrix, PowerIterOptions, Svd};
pub use crate::interpolate::{
chebyshev_coefficients, chebyshev_eval, chebyshev_nodes, chebyshev_rescale, chebyshev_t,
gauss_legendre, lagrange_interp, legendre_associated, legendre_p, lerp, newton_interp,
CubicSpline, NewtonInterpolator,
};
pub use crate::numtheory::{
binomial, chinese_remainder, continued_fraction, continued_fraction_value, diophantine,
discrete_log, euler_totient, extended_gcd, factorial, fibonacci, gcd, is_prime,
is_prime_miller_rabin, jacobi_symbol, lcm, mod_inverse, mod_pow, prime_factors,
sieve_primes,
};
pub use crate::autodiff::{
derivative as ad_derivative, eval as dual_eval, gradient as ad_gradient,
jacobian as ad_jacobian, Dual,
};
pub use crate::mathml::{from_mathml, to_mathml, to_mathml_doc};
pub use crate::serialize::{from_json, from_rpn, from_sexpr, to_json, to_rpn, to_sexpr};
pub use crate::interval::{Interval, eval_interval};
pub use crate::bigdec::{eval_decimal, BigDecimal};
pub use crate::limit::{limit, LimitValue};
pub use crate::poly::expand;
pub use crate::apart::apart;
pub use crate::ode::{euler, rk4, rk4_system, rkf45};
pub use crate::solver::{
bisect, isolate_real_roots, newton_central, newton_system, polynomial_roots, secant, SolveOptions,
};
pub use crate::special::{bessel_j0, bessel_j1, bessel_jn, beta, erfc, erf, gamma, log_gamma, sinc};
pub use crate::calculus::{
derivative, fourier_eval, fourier_series, integrate_adaptive, integrate_romberg,
integrate_simpson, integrate_trap, monte_carlo_integrate_1d, monte_carlo_integrate_nd,
partial, second_derivative, FourierSeries,
};
pub use crate::stats::{
correlation, cumulants, exp_cdf, exp_pdf, linear_regression, mean, median, moments,
normal_cdf, normal_pdf, Rng, stddev, variance, Summary,
};
pub use crate::symbolic::{differentiate, gradient, integrate};
pub use crate::taylor::taylor_series;
pub use crate::laurent::{laurent_series, laurent_series_str, LaurentSeries};
pub use crate::rational::{parse_rational, Rational};
pub use crate::notebook::{CellType, Notebook, NotebookCell};
pub use crate::server::NotebookServer;
pub use crate::fastmath::{fast_cos, fast_exp, fast_log, fast_pow, fast_sin, fast_sqrt, fast_tan, ChebyshevApprox};
}