use crate::binding::sequence::types::PyTrajectoryType;
use pyo3::prelude::*;
use pyo3_stub_gen::{define_stub_info_gatherer, derive::gen_stub_pyfunction};
#[gen_stub_pyfunction]
#[pyfunction]
pub fn frechet(
#[gen_stub(override_type(type_repr="typing.List[typing.List[float]] | numpy.ndarray", imports=("typing", "numpy")))]
t1: &Bound<'_, PyAny>,
#[gen_stub(override_type(type_repr="typing.List[typing.List[float]] | numpy.ndarray", imports=("typing", "numpy")))]
t2: &Bound<'_, PyAny>,
) -> PyResult<f64> {
let traj1 = PyTrajectoryType::try_from(t1)?;
let traj2 = PyTrajectoryType::try_from(t2)?;
Ok(crate::distance::frechet::frechet(&traj1, &traj2))
}
define_stub_info_gatherer!(stub_info);