cubic_spline 0.9.1

Function that calculates curve points for cubic spline
Documentation
pub fn flatten_to_tuples(pts: &[f64]) -> Vec<(f64, f64)> {
  let len = (pts.len() / 2) + 1;
  let mut result = Vec::with_capacity(len);
  for (ind, x_or_y) in pts.iter().enumerate() {
    if ind % 2 != 0 {
      continue;
    }
    let x = *x_or_y;
    if let Some(y) = pts.get(ind + 1) {
      result.push((x, *y));
    } else {
      break;
    }
  }
  result
}

pub fn tuples_to_flatten(tuples: &[(f64, f64)]) -> Vec<f64> {
  let mut result = Vec::with_capacity(tuples.len() * 2);
  for (x, y) in tuples {
    result.push(*x);
    result.push(*y);
  }
  result
}