conspire/math/integrate/ode/explicit/
mod.rs1#[cfg(test)]
2mod test;
3
4use crate::math::{
5 Scalar, Tensor, TensorVec, Vector,
6 integrate::{IntegrationError, OdeSolver},
7};
8
9pub mod fixed_step;
10pub mod variable_step;
11
12pub trait Explicit<Y, U>
14where
15 Self: OdeSolver<Y, U>,
16 Y: Tensor,
17 U: TensorVec<Item = Y>,
18{
19 const SLOPES: usize;
20 #[doc = include_str!("doc.md")]
21 fn integrate(
22 &self,
23 function: impl FnMut(Scalar, &Y) -> Result<Y, String>,
24 time: &[Scalar],
25 initial_condition: Y,
26 ) -> Result<(Vector, U, U), IntegrationError>;
27}