pub trait Classifier {
// Required methods
fn n(&self) -> usize;
fn predict(&self, start: usize, stop: usize, split: usize) -> Array1<f64>;
fn control(&self) -> &Control;
// Provided methods
fn single_likelihood(
&self,
predictions: &Array1<f64>,
start: usize,
stop: usize,
split: usize,
) -> f64 { ... }
fn full_likelihood(
&self,
predictions: &Array1<f64>,
start: usize,
stop: usize,
split: usize,
) -> Array2<f64> { ... }
}