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_sstrictly 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).