Skip to main content

t_to_s_topp3

Function t_to_s_topp3 

Source
pub fn t_to_s_topp3(
    s: &[f64],
    a: &[f64],
    b: &[f64],
    num_stationary: (usize, usize),
    t_s: &[f64],
    mode: InterpolationMode<'_>,
) -> Vec<f64>
Expand description

Interpolate inverse mapping s(t) from a(s), b(s), and sampled t(s).

§Modes

  • UniformTimeGrid(t0, dt, include_final): generate uniform time samples;
  • NonUniformTimeGrid(t_sample): use caller-provided increasing samples.

§Input contract

  • requires s.len() >= 2, a.len() == s.len(), b.len() == s.len(), t_s.len() == s.len();
  • requires t_s strictly increasing;
  • invalid input returns empty vector.

§Output semantics

  • output length matches requested sample count in each mode;
  • for out-of-range time samples, output entries are NaN.

§Returns

Returns sampled s(t) values under the requested interpolation mode.

§Errors

This function does not return Result; malformed inputs are mapped to empty output.

§Contract

  • preserves caller time-sample ordering.
  • never panics on invalid user data paths (returns empty vector).