Struct EngineProblem

Source
pub struct EngineProblem<C, T>
where C: Chromosome,
{ pub codec: Arc<dyn Codec<C, T>>, pub fitness_fn: Arc<dyn Fn(T) -> Score + Send + Sync>, }
Expand description

EngineProblem is a generic, base level concrete implementation of the Problem trait that is the default problem used by the engine if none other is specified during building. We take the Codec and the fitness function from the user and simply wrap them into this struct.

Fields§

§codec: Arc<dyn Codec<C, T>>§fitness_fn: Arc<dyn Fn(T) -> Score + Send + Sync>

Trait Implementations§

Source§

impl<C: Chromosome, T> Problem<C, T> for EngineProblem<C, T>

Source§

fn encode(&self) -> Genotype<C>

Source§

fn decode(&self, genotype: &Genotype<C>) -> T

Source§

fn eval(&self, individual: &Genotype<C>) -> Score

Source§

fn eval_batch(&self, individuals: &[Genotype<C>]) -> Vec<Score>

Source§

impl<C: Chromosome, T> Send for EngineProblem<C, T>

Source§

impl<C: Chromosome, T> Sync for EngineProblem<C, T>

Auto Trait Implementations§

§

impl<C, T> Freeze for EngineProblem<C, T>

§

impl<C, T> !RefUnwindSafe for EngineProblem<C, T>

§

impl<C, T> Unpin for EngineProblem<C, T>

§

impl<C, T> !UnwindSafe for EngineProblem<C, T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V