use crate::DType;
use crate::interpolate::error::InterpolateResult;
use crate::interpolate::traits::rect_bivariate_spline::BivariateSpline;
use numr::runtime::Runtime;
use numr::tensor::Tensor;
pub trait SmoothBivariateSplineAlgorithms<R: Runtime<DType = DType>> {
#[allow(clippy::too_many_arguments)]
fn smooth_bivariate_spline_fit(
&self,
x: &Tensor<R>,
y: &Tensor<R>,
z: &Tensor<R>,
weights: Option<&Tensor<R>>,
smoothing: f64,
kx: usize,
ky: usize,
) -> InterpolateResult<BivariateSpline<R>>;
fn smooth_bivariate_spline_evaluate(
&self,
spline: &BivariateSpline<R>,
xi: &Tensor<R>,
yi: &Tensor<R>,
) -> InterpolateResult<Tensor<R>>;
}