pub trait VariableStepExplicitInternalVariablesFirstSameAsLast<Y, Z, U, V>where
Self: VariableStepExplicitInternalVariables<Y, Z, U, V>,
Y: Tensor,
Z: Tensor,
for<'a> &'a Y: Mul<Scalar, Output = Y> + Sub<&'a Y, Output = Y>,
U: TensorVec<Item = Y>,
V: TensorVec<Item = Z>,{
// Provided methods
fn slopes_and_eval_and_error_fsal(
function: impl FnMut(Scalar, &Y, &Z) -> Result<Y, String>,
evaluate: impl FnMut(Scalar, &Y, &Z) -> Result<Z, String>,
y: &Y,
z: &Z,
t: Scalar,
dt: Scalar,
k: &mut [Y],
y_trial: &mut Y,
z_trial: &mut Z,
) -> Result<Scalar, String> { ... }
fn step_and_eval_fsal(
&self,
y: &mut Y,
z: &mut Z,
t: &mut Scalar,
y_sol: &mut U,
z_sol: &mut V,
t_sol: &mut Vector,
dydt_sol: &mut U,
dt: &mut Scalar,
k: &mut [Y],
y_trial: &Y,
z_trial: &Z,
e: Scalar,
) -> Result<(), String> { ... }
}Expand description
First-same-as-last property for variable-step explicit ordinary differential equation solvers with internal variables.
Provided Methods§
fn slopes_and_eval_and_error_fsal( function: impl FnMut(Scalar, &Y, &Z) -> Result<Y, String>, evaluate: impl FnMut(Scalar, &Y, &Z) -> Result<Z, String>, y: &Y, z: &Z, t: Scalar, dt: Scalar, k: &mut [Y], y_trial: &mut Y, z_trial: &mut Z, ) -> Result<Scalar, String>
fn step_and_eval_fsal( &self, y: &mut Y, z: &mut Z, t: &mut Scalar, y_sol: &mut U, z_sol: &mut V, t_sol: &mut Vector, dydt_sol: &mut U, dt: &mut Scalar, k: &mut [Y], y_trial: &Y, z_trial: &Z, e: Scalar, ) -> Result<(), String>
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.