コンテンツにスキップ

Segments

このコンテンツはまだ日本語訳がありません。

Defined in: segment_walk.rs:29

pub struct Segments\<'a, S: [DynamicalSystem](../../traits/dynamicalsystem/)\>

The segments of [t0, t_end], split at the switches the system reports.

Each item is the system bound to one segment, in order, covering the span end to end. A system that reports no switch yields the whole span as one segment.

A loop that stops partway — on an event, or on an error — stops taking items. The walk has no way to know that the state it would hand the next segment was never reached, so resuming after a stop means building a new Segments from where the loop actually is.

fn new(system: &‘a S, t0: f64, t_end: f64) -> [Result<Self, IntegrationError>](https://doc.rust-lang.org/std/result/enum.Result.html)

Walk the segments of [t0, t_end].

Rejects a span no loop can walk: a non-finite start, a non-finite end, or an end before the start. A loop that tests t < t_end before stepping cannot leave this to the solver — every comparison is false for a NaN, so it takes no step and the solver never sees the span to reject it.

An empty span (t0 == t_end) yields nothing.