Big optimizations and securing code.
[genetic.git] / include / algorithm.h
index cb6acf3cf30a9fbf8227748355e215d4608785d8..54f51fbda8574d1b12b78db5ee2bbb427d017270 100644 (file)
@@ -79,7 +79,7 @@ namespace genetic {
          */
         Algorithm(
             generator::Generator<_Chromosome>& _generator,
-           _Fitness& _fitness,
+            _Fitness& _fitness,
             float crossoverChance,
             float mutationChance) :
                 generator(_generator),
@@ -119,8 +119,8 @@ namespace genetic {
          * \attention Method is currently not in use.
          */
         void showGeneration() {
-            unsigned int generationSize = this->generation.size();
-            unsigned int chromosomeSize = this->generation[0].size();
+            const unsigned int generationSize = this->generation.size();
+            const unsigned int chromosomeSize = this->generation[0].size();
 
             for (unsigned int i = 0; i < generationSize; i++) {
                 cout << "# " << i << ") ";
@@ -136,11 +136,12 @@ namespace genetic {
          */
         void showAvgFitness() {
             float avg = 0;
-            unsigned int generationSize = this->generation.size();
+            const unsigned int generationSize = this->generation.size();
+            std::map<string, string> arguments = fitness.getArguments();
 
             for (unsigned int i = 0; i < generationSize; i++) {
                 _Fitness fit(this->generation[i]);
-                fit.parseArguments(fitness.getArguments());
+                fit.parseArguments(arguments);
                 avg += fit.calculate();
             }
             cout << " " << avg / generationSize;
@@ -151,18 +152,19 @@ namespace genetic {
          */
         void showBestFitness() {
             float best = -100000;
-            unsigned int generationSize = this->generation.size();
+            const unsigned int generationSize = this->generation.size();
+            std::map<string, string> arguments = fitness.getArguments();
 
             for (unsigned int i = 0; i < generationSize; i++) {
                 _Fitness fit(this->generation[i]);
-                fit.parseArguments(fitness.getArguments());
+                fit.parseArguments(arguments);
 
                 float tmp = fit.calculate();
                 if (tmp > best) {
                     best = tmp;
                 }
             }
-            cout << " " << best << endl;
+            cout << " " << best << "\n";
         }
     };
 }