[avida-cvs] avida CVS commits: /current/source/cpu head.cc /current/source/main phenotype.cc

mercere99 avida-cvs at alife.org
Mon Jun 9 03:36:10 PDT 2003


mercere99		Sun Jun  8 19:36:10 2003 EDT

  Modified files:              
    /avida/current/source/cpu	head.cc 
    /avida/current/source/main	phenotype.cc 
  Log:
  Fixed double declarations of default values in head.cc
  Allow merits to go to zero in phenotype.cc
  
  
Index: avida/current/source/cpu/head.cc
diff -u avida/current/source/cpu/head.cc:1.21 avida/current/source/cpu/head.cc:1.22
--- avida/current/source/cpu/head.cc:1.21	Thu Jun  5 13:14:40 2003
+++ avida/current/source/cpu/head.cc	Sun Jun  8 19:36:08 2003
@@ -473,7 +473,7 @@
 
 c4StackHead::c4StackHead() : cCPUHead() { mem_space=0; }
 
-c4StackHead::c4StackHead(cHardwareBase * in_hardware, int in_pos = 0, int in_mem_space = 0) 
+c4StackHead::c4StackHead(cHardwareBase * in_hardware, int in_pos, int in_mem_space) 
   : cCPUHead(in_hardware, in_pos) { mem_space = in_mem_space; }
 
 c4StackHead::c4StackHead(const c4StackHead & in_head) : cCPUHead(in_head) 
@@ -516,7 +516,7 @@
   mem_space = 0;
 }
 
-void c4StackHead::Set(int new_pos, cHardwareBase * in_hardware = NULL, int in_mem_space)
+void c4StackHead::Set(int new_pos, cHardwareBase * in_hardware, int in_mem_space)
 {
   position = new_pos;
   if (in_hardware) cur_hardware = in_hardware;
Index: avida/current/source/main/phenotype.cc
diff -u avida/current/source/main/phenotype.cc:1.32 avida/current/source/main/phenotype.cc:1.33
--- avida/current/source/main/phenotype.cc:1.32	Sat May 17 14:23:26 2003
+++ avida/current/source/main/phenotype.cc	Sun Jun  8 19:36:09 2003
@@ -210,7 +210,7 @@
   // Update these values as needed...
   int cur_merit_base = CalcSizeMerit(genome_length,copied_size,executed_size);
   merit = cur_merit_base * cur_bonus;
-  assert(merit.GetDouble() != 0);
+  assert(merit.GetDouble() >= 0.0);
 
   genome_length   = _length;
   (void) copied_size;          // Unchanged
@@ -378,6 +378,9 @@
   // Update the merit bonus
   cur_bonus *= result.GetMultBonus();
   cur_bonus += result.GetAddBonus();
+
+  // Bonus should never go negative...
+  if (cur_bonus < 0.0) cur_bonus = 0.0;
 
   // Denote consumed resources...
   for (int i = 0; i < res_in.GetSize(); i++) {






More information about the Avida-cvs mailing list