mod andrews;
mod cauchy;
mod hampel;
mod huber;
mod l1;
mod least_squares;
mod tukey;
mod welsch;
pub use self::andrews::Andrews;
pub use self::cauchy::Cauchy;
pub use self::hampel::Hampel;
pub use self::huber::Huber;
pub use self::l1::L1;
pub use self::least_squares::LeastSquares;
pub use self::tukey::TukeyBiweight;
pub use self::welsch::Welsch;
pub trait RhoFunction {
fn rho(&self, r: f64) -> f64;
fn psi(&self, r: f64) -> f64;
fn weight(&self, r: f64) -> f64;
fn psi_prime(&self, r: f64) -> f64;
fn tuning(&self) -> f64;
fn is_redescending(&self) -> bool;
fn rho_sup(&self) -> Option<f64>;
}