pub fn rkmk_step<Field, Tab, T>(
rate: &mut impl FnMut(Quantity<T>, &Field::Point) -> Result<Derivative<Field::Increment, T>, String>,
point: &Field::Point,
t: Quantity<T>,
dt: Quantity<T>,
scratch: &mut Vec<Field::Increment>,
) -> Result<Field::Point, IntegrationError>where
Field: Integrable,
Tab: ButcherTableau,
Field::Point: Clone,
Field::Increment: Clone + Differentiable<T>,
T: Copy,
Quantity<T>: Mul<Scalar, Output = Quantity<T>>,
for<'a> &'a Derivative<Field::Increment, T>: Mul<Quantity<T>, Output = Field::Increment>,Expand description
Advances point one RKMK step from t to t + dt with the Tab tableau —
super::integrate_rkmk without the history, and with the stage-slope buffer
scratch passed in so a stepping loop allocates nothing per step. scratch
may start empty; its contents are overwritten.