pub fn knot_offset(knot: &[Float], order: i32, np: i32, t: Float) -> usize