pub trait Integrator<S: State> {
// Required method
fn propagate_in_place<D1, D2>(
&mut self,
start: &mut S,
pos_diff_eq: D1,
momentum_diff_eq: D2,
step: StepSize,
)
where D1: Fn(&S) -> S::PositionDerivative,
D2: Fn(&S) -> S::MomentumDerivative;
// Provided method
fn propagate<D1, D2>(
&mut self,
start: &S,
pos_diff_eq: D1,
momentum_diff_eq: D2,
step: StepSize,
) -> S
where D1: Fn(&S) -> S::PositionDerivative,
D2: Fn(&S) -> S::MomentumDerivative { ... }
}
Required Methods§
fn propagate_in_place<D1, D2>( &mut self, start: &mut S, pos_diff_eq: D1, momentum_diff_eq: D2, step: StepSize, )
Provided Methods§
fn propagate<D1, D2>( &mut self, start: &S, pos_diff_eq: D1, momentum_diff_eq: D2, step: StepSize, ) -> S
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.