X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=src%2Ffitness%2Ffitness.h;fp=src%2Ffitness%2Ffitness.h;h=66263f1bbc82363adfea48830cbccb148c607bfe;hb=1bef1f38888f19f83083d2f5bc1e1a90bb14291f;hp=14b6487f18b8e83708e04c15286988a33ee974ab;hpb=58bf4fc9da0dfc4abb33bdc982214cbd2f186b44;p=genetic.git diff --git a/src/fitness/fitness.h b/src/fitness/fitness.h index 14b6487..66263f1 100644 --- a/src/fitness/fitness.h +++ b/src/fitness/fitness.h @@ -1,7 +1,7 @@ #ifndef __FITNESS_FITNESS_H #define __FITNESS_FITNESS_H -#include "../chromosome.h" +#include "chromosome.h" namespace genetic { /** @@ -10,25 +10,48 @@ namespace genetic { */ template < typename _Chromosome, typename _Value = double > class Fitness { - template friend class Selection ; + template friend class Selection; public: + /** + * Type representing Chromosome Gene + */ typedef typename _Chromosome::GeneType GeneType; + + /** + * Value type returned by the Fitness function + */ typedef _Value ValueType; protected: + /** + * Chromosome on which calculations are made + */ _Chromosome chromosome; - /* - * Some calculations here... + /** + * Calculations should be done here... + * + * @return Fitness value of the current Chromosome */ virtual _Value do_calculate() = 0; public: + /** + * Class constructor + */ Fitness() {} + /** + * Copy constructor + */ Fitness(_Chromosome& _chromosome) : chromosome(_chromosome.get()) { } + /** + * Invokes calculations + * + * @return Fitness value of the current Chromosome + */ _Value calculate() { return this->do_calculate(); }