conspire/math/integrate/ode/explicit/internal_variables/
mod.rs1use crate::math::{
2 Scalar, Tensor, TensorVec, Vector,
3 integrate::{Explicit, IntegrationError},
4};
5
6pub trait ExplicitInternalVariables<Y, Z, U, V>
8where
9 Self: Explicit<Y, U>,
10 Y: Tensor,
11 Z: Tensor,
12 U: TensorVec<Item = Y>,
13 V: TensorVec<Item = Z>,
14{
15 #[doc = include_str!("doc.md")]
16 fn integrate_and_evaluate(
17 &self,
18 function: impl FnMut(Scalar, &Y, &Z) -> Result<Y, String>,
19 evaluate: impl FnMut(Scalar, &Y, &Z) -> Result<Z, String>,
20 time: &[Scalar],
21 initial_condition: Y,
22 initial_evaluation: Z,
23 ) -> Result<(Vector, U, U, V), IntegrationError>;
24}