pub enum IvpResult<const N: usize> {
FinalTimeReached(Coord<{ N }>),
StepTooSmall(f64, Coord<{ N }>),
OdeRequestedExit(f64, Coord<{ N }>, f64, Coord<{ N }>),
CallbackRequestedExit(f64, Coord<{ N }>, f64, Coord<{ N }>),
}
Expand description
Returned by solve_ivp
Variants
FinalTimeReached(Coord<{ N }>)
The final time t_1
was successfully reached. The first field is
y(t_1)
StepTooSmall(f64, Coord<{ N }>)
The next timestep would be smaller than 10 machine epsilons, so
integration stopped. The first field is the time t_s
when integration
stopped, the second fild is y(t_s)
.
OdeRequestedExit(f64, Coord<{ N }>, f64, Coord<{ N }>)
If problem.ode_dot_y(t,y).1 == false
for a pair of t,y that are part
of the solution curve, this variant is returned.
CallbackRequestedExit(f64, Coord<{ N }>, f64, Coord<{ N }>)
After every integration step, callback(t,y)
is called. If it returns
false
, this is returned. The first two fields is the last point where
callback
returned true
and the last two fields are the next point
where callback
returned true
.
Trait Implementations
impl<const N: usize> Copy for IvpResult<N>
Auto Trait Implementations
impl<const N: usize> RefUnwindSafe for IvpResult<N>
impl<const N: usize> Send for IvpResult<N>
impl<const N: usize> Sync for IvpResult<N>
impl<const N: usize> Unpin for IvpResult<N>
impl<const N: usize> UnwindSafe for IvpResult<N>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more