pub trait OrdinaryNumericalMethod<T, Y>{
// Required methods
fn init<F>(
&mut self,
ode: &F,
t0: T,
tf: T,
y0: &Y,
) -> Result<Evals, Error<T, Y>>
where F: ODE<T, Y>;
fn step<F>(&mut self, ode: &F) -> Result<Evals, Error<T, Y>>
where F: ODE<T, Y>;
fn t(&self) -> T;
fn y(&self) -> &Y;
fn t_prev(&self) -> T;
fn y_prev(&self) -> &Y;
fn h(&self) -> T;
fn set_h(&mut self, h: T);
fn status(&self) -> &Status<T, Y>;
fn set_status(&mut self, status: Status<T, Y>);
}Expand description
Trait for ODE solvers.
Implemented by types that can solve ODEs via repeated calls to step.
Required Methods§
Sourcefn init<F>(
&mut self,
ode: &F,
t0: T,
tf: T,
y0: &Y,
) -> Result<Evals, Error<T, Y>>where
F: ODE<T, Y>,
fn init<F>(
&mut self,
ode: &F,
t0: T,
tf: T,
y0: &Y,
) -> Result<Evals, Error<T, Y>>where
F: ODE<T, Y>,
Sourcefn set_status(&mut self, status: Status<T, Y>)
fn set_status(&mut self, status: Status<T, Y>)
Set solver status
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.