pub struct Function { /* private fields */ }
Expand description
A representation of a f64 based distance matrix.
Implementations§
Source§impl Function
impl Function
Sourcepub fn new(fun: fn(Vec<f64>) -> Result<f64, FunctionError>) -> Self
pub fn new(fun: fn(Vec<f64>) -> Result<f64, FunctionError>) -> Self
Create a new function.
§Arguments
fun
- The function that should be computed in this struct.
§Examples
use genetic_algorithm_fn::function;
let function_to_optimize = function::Function::new(
|x| match x.len() {
3 => Ok(x[0] * x[1] * x[2]),
_ => Err(function::FunctionError::WrongNumberOfEntries {
actual_number_of_entries: x.len(),
expected_number_of_entries: 3,
}),
}
);
Sourcepub fn get_function_value(
&self,
function_values: Vec<f64>,
) -> Result<f64, FunctionError>
pub fn get_function_value( &self, function_values: Vec<f64>, ) -> Result<f64, FunctionError>
Compute the function value for a Solution.
§Arguments
solution
- The solution for which the function value should be computed.
§Examples
use genetic_algorithm_fn::function;
let function_to_optimize = function::Function::new(
|x| match x.len() {
3 => Ok(x[0] * x[1] * x[2]),
_ => Err(function::FunctionError::WrongNumberOfEntries {
actual_number_of_entries: x.len(),
expected_number_of_entries: 3,
}),
}
);
println!("{}", function_to_optimize.get_function_value(vec![3.0, 4.0, 5.0]).unwrap());
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Function
impl RefUnwindSafe for Function
impl Send for Function
impl Sync for Function
impl Unpin for Function
impl UnwindSafe for Function
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more