use super::types::PolynomialRoots;
use crate::error::{Error, Result};
use crate::runtime::Runtime;
use crate::tensor::Tensor;
pub trait PolynomialAlgorithms<R: Runtime> {
fn polyroots(&self, coeffs: &Tensor<R>) -> Result<PolynomialRoots<R>> {
let _ = coeffs;
Err(Error::NotImplemented {
feature: "PolynomialAlgorithms::polyroots",
})
}
fn polyval(&self, coeffs: &Tensor<R>, x: &Tensor<R>) -> Result<Tensor<R>> {
let _ = (coeffs, x);
Err(Error::NotImplemented {
feature: "PolynomialAlgorithms::polyval",
})
}
fn polyfromroots(&self, roots_real: &Tensor<R>, roots_imag: &Tensor<R>) -> Result<Tensor<R>> {
let _ = (roots_real, roots_imag);
Err(Error::NotImplemented {
feature: "PolynomialAlgorithms::polyfromroots",
})
}
fn polymul(&self, a: &Tensor<R>, b: &Tensor<R>) -> Result<Tensor<R>> {
let _ = (a, b);
Err(Error::NotImplemented {
feature: "PolynomialAlgorithms::polymul",
})
}
}