pub trait Target { fn evaluate(&mut self, data: &[f64]) -> f64; fn iteration(&mut self, iter: Iteration<'_>) { ... } }
Represents a function to optimize
Evaluate the function at a given point Return f64::NAN if we’re out of bounds
f64::NAN
Called after every optimizer iteration