[Avida-SVN] r2330 - in development/source: actions main

dknoester at myxo.css.msu.edu dknoester at myxo.css.msu.edu
Thu Feb 14 11:23:14 PST 2008


Author: dknoester
Date: 2008-02-14 14:23:14 -0500 (Thu, 14 Feb 2008)
New Revision: 2330

Modified:
   development/source/actions/PrintActions.cc
   development/source/main/cStats.cc
   development/source/main/cStats.h
Log:
Added germline datafile.


Modified: development/source/actions/PrintActions.cc
===================================================================
--- development/source/actions/PrintActions.cc	2008-02-14 18:48:25 UTC (rev 2329)
+++ development/source/actions/PrintActions.cc	2008-02-14 19:23:14 UTC (rev 2330)
@@ -94,7 +94,9 @@
 STATS_OUT_FILE(PrintSleepData,              sleep.dat           );
 STATS_OUT_FILE(PrintCompetitionData,        competition.dat     );
 STATS_OUT_FILE(PrintDemeReplicationData,    deme_repl.dat       );
+STATS_OUT_FILE(PrintGermlineData,           germline.dat        );
 
+
 #define POP_OUT_FILE(METHOD, DEFAULT)                                                     /*  1 */ \
 class cAction ## METHOD : public cAction {                                                /*  2 */ \
 private:                                                                                  /*  3 */ \
@@ -2645,6 +2647,7 @@
   action_lib->Register<cActionPrintDemeSpacialSleep>("PrintDemeSpacialSleepStats");
   action_lib->Register<cActionPrintDemeResources>("PrintDemeResourceStats");
   action_lib->Register<cActionPrintDemeReplicationData>("PrintDemeReplicationData");
+  action_lib->Register<cActionPrintGermlineData>("PrintGermlineData");
   
   
   //Coalescence Clade Actions

Modified: development/source/main/cStats.cc
===================================================================
--- development/source/main/cStats.cc	2008-02-14 18:48:25 UTC (rev 2329)
+++ development/source/main/cStats.cc	2008-02-14 19:23:14 UTC (rev 2330)
@@ -1147,6 +1147,14 @@
 }
 
 
+/*! Called immediately prior to germline replacement.
+*/
+void cStats::GermlineReplication(cGermline& source_germline, cGermline& target_germline)
+{
+  m_germline_generation.Add(source_germline.Size());
+}
+
+
 /*! Print statistics related to deme replication.  Currently only prints the
 number of deme replications since the last time PrintDemeReplicationData was
 invoked.
@@ -1157,9 +1165,23 @@
   
   df.WriteComment("Avida deme replication data");
   df.WriteTimeStamp();
-  df.Write(m_update, "Update");
-  df.Write(m_deme_num_repls, "Number of deme replications.");
+  df.Write(m_update, "Update [update]");
+  df.Write(m_deme_num_repls, "Number of deme replications [numrepl]");
   df.Endl();
   
   m_deme_num_repls = 0;
 }
+
+
+void cStats::PrintGermlineData(const cString& filename)
+{
+  cDataFile& df = m_world->GetDataFile(filename);
+  
+  df.WriteComment("Avida germline data");
+  df.WriteTimeStamp();
+  df.Write(m_update, "Update");
+  df.Write(m_germline_generation.Average(), "Mean germline generation of replicated germlines [replgen]");
+  df.Endl();
+    
+  m_germline_generation.Clear();
+}

Modified: development/source/main/cStats.h
===================================================================
--- development/source/main/cStats.h	2008-02-14 18:48:25 UTC (rev 2329)
+++ development/source/main/cStats.h	2008-02-14 19:23:14 UTC (rev 2330)
@@ -682,12 +682,15 @@
   //! Called immediately after deme replacement.
   void DemePostReplication(cDeme& source_deme, cDeme& target_deme) { }
   //! Called immediately prior to germline replacement.
-  void GermlineReplication(cGermline& source_germline, cGermline& target_germline) { }
+  void GermlineReplication(cGermline& source_germline, cGermline& target_germline);
   //! Print statistics about deme replication.
   void PrintDemeReplicationData(const cString& filename);
+  //! Print statistics about germlines.
+  void PrintGermlineData(const cString& filename);
   
 protected:
   int m_deme_num_repls; //!< Number of deme replications since last PrintDemeReplicationData.
+  cDoubleSum m_germline_generation; //!< "Generation" accumulator of replicated germlines.
 };
 
 




More information about the Avida-cvs mailing list