pub fn nurbs_evaluate(
    order: i32,
    knot: &[Float],
    cp: &SmallVec<[Homogeneous3; 128]>,
    cp_start: i32,
    np: i32,
    cp_stride: i32,
    t: Float,
    deriv_opt: Option<&mut Vector3f>
) -> Homogeneous3