[Avida-SVN] r1994 - in branches/energy/source: cpu main

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Thu Aug 23 10:14:50 PDT 2007


Author: beckma24
Date: 2007-08-23 13:14:50 -0400 (Thu, 23 Aug 2007)
New Revision: 1994

Modified:
   branches/energy/source/cpu/cHardwareBase.cc
   branches/energy/source/main/cPhenotype.cc
   branches/energy/source/main/cPhenotype.h
Log:
Changed energy model!  If the organism can't pay the energy cost its merit is set to zero.

Modified: branches/energy/source/cpu/cHardwareBase.cc
===================================================================
--- branches/energy/source/cpu/cHardwareBase.cc	2007-08-23 16:43:29 UTC (rev 1993)
+++ branches/energy/source/cpu/cHardwareBase.cc	2007-08-23 17:14:50 UTC (rev 1994)
@@ -858,6 +858,7 @@
           m_world->GetStats().incNumAsleep(pop.GetCell(cellID).GetDemeID());
         }
       } else { // not enough energy
+        organism->UpdateMerit(0.0);  //remove from scheduler
         return false;
       }
     }

Modified: branches/energy/source/main/cPhenotype.cc
===================================================================
--- branches/energy/source/main/cPhenotype.cc	2007-08-23 16:43:29 UTC (rev 1993)
+++ branches/energy/source/main/cPhenotype.cc	2007-08-23 17:14:50 UTC (rev 1994)
@@ -1427,10 +1427,6 @@
   cMerit parentMerit = cMerit(cMerit::EnergyToMerit(GetStoredEnergy(), m_world) * GetExecutionRatio());
   SetMerit(parentMerit);
   
-/*  if(m_world->GetConfig().ENERGY_VERBOSE.Get()) {
-    cerr<<"child merit: "<<merit_array[0]<<endl<<"child energy: "<< child_energy <<endl
-    <<"parent merit: "<<GetMerit()<<endl<<"parent energy: "<< GetStoredEnergy() <<endl;
-  }*/
   return child_energy;
 }
 

Modified: branches/energy/source/main/cPhenotype.h
===================================================================
--- branches/energy/source/main/cPhenotype.h	2007-08-23 16:43:29 UTC (rev 1993)
+++ branches/energy/source/main/cPhenotype.h	2007-08-23 17:14:50 UTC (rev 1994)
@@ -467,7 +467,6 @@
   
   void DoubleEnergyUsage() { executionRatio *= 2.0; }
   void HalfEnergyUsage() { executionRatio *= 0.5; }
-  double GetEnergyUsage() { return executionRatio; }
   void RefreshEnergy();
   void ApplyToEnergyStore();
   double ExtractParentEnergy();




More information about the Avida-cvs mailing list