1 #ifndef GRAIL_EVO_SCRIPT_H 
    2 #define GRAIL_EVO_SCRIPT_H 
   15             float fitness = -1.0f;
 
   18             std::vector<std::reference_wrapper<IEvoParam>> evoParams{};
 
   22             void SetFitness(
float _fitness);
 
   23             float GetFitness() 
const;
 
   30             virtual std::unique_ptr<EvoScript> 
UserClone() 
const = 0;
 
   33             void Randomize(std::mt19937_64& randomGenerator);
 
   35             std::vector<std::unique_ptr<EvoScript>> GetRandomRealizations(std::mt19937_64& randomGenerator, 
size_t count) 
const;
 
   36             std::vector<std::reference_wrapper<IEvoParam>>& GetEvoParams();
 
   37             size_t EvoParamsCount() 
const;
 
   39             const IEvoParam& GetEvoParamAt(
size_t index) 
const;
 
   40             void ExchangeParams(
EvoScript& other, 
size_t inclusiveFrom, 
size_t exclusiveTo);
 
   42             float CalculateSimilarity(
const EvoScript& other) 
const;
 
   43             void CopyEvoParamValuesFrom(
const EvoScript& other);
 
   45             virtual std::string ToString() 
const;
 
   48             void RegisterParamsFromOther(
const EvoScript& other);
 
   51         bool EvoScriptComparator(
const std::unique_ptr<EvoScript>& first, 
const std::unique_ptr<EvoScript>& second);
 
Definition: EvoScript.hh:13
void Randomize(std::mt19937_64 &randomGenerator)
Definition: EvoScript.cpp:29
virtual std::unique_ptr< EvoScript > UserClone() const =0
std::unique_ptr< EvoScript > SystemClone() const
Definition: EvoScript.cpp:22
Definition: IEvoParam.hh:12