[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