[Avida-SVN] r3325 - in development/source: actions main
connel42 at myxo.css.msu.edu
connel42 at myxo.css.msu.edu
Fri Jun 19 10:45:46 PDT 2009
Author: connel42
Date: 2009-06-19 13:45:46 -0400 (Fri, 19 Jun 2009)
New Revision: 3325
Modified:
development/source/actions/PrintActions.cc
development/source/main/cStats.cc
development/source/main/cStats.h
Log:
Cleaned up some of the recently-added treatable deme stats
Modified: development/source/actions/PrintActions.cc
===================================================================
--- development/source/actions/PrintActions.cc 2009-06-18 21:09:54 UTC (rev 3324)
+++ development/source/actions/PrintActions.cc 2009-06-19 17:45:46 UTC (rev 3325)
@@ -110,11 +110,10 @@
STATS_OUT_FILE(PrintDemeNetworkData, deme_network.dat);
STATS_OUT_FILE(PrintDemeFoundersData, deme_founders.dat );
STATS_OUT_FILE(PrintPerDemeTasksData, per_deme_tasks.dat );
-STATS_OUT_FILE(PrintPerTreatableDemeTasksData, per_treatable_deme_tasks.dat );
-STATS_OUT_FILE(PrintPerUntreatableDemeTasksData, per_untreatable_deme_tasks.dat );
STATS_OUT_FILE(PrintPerDemeTasksExeData, per_deme_tasks_exe.dat );
-STATS_OUT_FILE(PrintPerTreatableDemeTasksExeData, per_treatable_deme_tasks_exe.dat );
-STATS_OUT_FILE(PrintPerUntreatableDemeTasksExeData, per_untreatable_deme_tasks_exe.dat );
+STATS_OUT_FILE(PrintAvgDemeTasksExeData, avg_deme_tasks_exe.dat );
+STATS_OUT_FILE(PrintAvgTreatableDemeTasksExeData, avg_treatable_deme_tasks_exe.dat );
+STATS_OUT_FILE(PrintAvgUntreatableDemeTasksExeData, avg_untreatable_deme_tasks_exe.dat );
STATS_OUT_FILE(PrintPerDemeReactionData, per_deme_reactions.dat );
STATS_OUT_FILE(PrintDemeTasksData, deme_tasks.dat );
STATS_OUT_FILE(PrintDemeTasksExeData, deme_tasks_exe.dat );
@@ -3044,11 +3043,10 @@
action_lib->Register<cActionPrintGermlineData>("PrintGermlineData");
action_lib->Register<cActionSaveDemeFounders>("SaveDemeFounders");
action_lib->Register<cActionPrintPerDemeTasksData>("PrintPerDemeTasksData");
- action_lib->Register<cActionPrintPerDemeTasksData>("PrintPerTreatableDemeTasksData");
- action_lib->Register<cActionPrintPerDemeTasksData>("PrintPerUntreatableDemeTasksData");
action_lib->Register<cActionPrintPerDemeTasksExeData>("PrintPerDemeTasksExeData");
- action_lib->Register<cActionPrintPerTreatableDemeTasksExeData>("PrintPerTreatableDemeTasksExeData");
- action_lib->Register<cActionPrintPerUntreatableDemeTasksExeData>("PrintPerUntreatableDemeTasksExeData");
+ action_lib->Register<cActionPrintAvgDemeTasksExeData>("PrintAvgDemeTasksExeData");
+ action_lib->Register<cActionPrintAvgTreatableDemeTasksExeData>("PrintAvgTreatableDemeTasksExeData");
+ action_lib->Register<cActionPrintAvgUntreatableDemeTasksExeData>("PrintAvgUntreatableDemeTasksExeData");
action_lib->Register<cActionPrintPerDemeReactionData>("PrintPerDemeReactionData");
action_lib->Register<cActionPrintDemeTasksData>("PrintDemeTasksData");
action_lib->Register<cActionPrintDemeTasksExeData>("PrintDemeTasksExeData");
Modified: development/source/main/cStats.cc
===================================================================
--- development/source/main/cStats.cc 2009-06-18 21:09:54 UTC (rev 3324)
+++ development/source/main/cStats.cc 2009-06-19 17:45:46 UTC (rev 3325)
@@ -1730,6 +1730,7 @@
m_deme_founders.clear();
}
+
void cStats::PrintPerDemeTasksData(const cString& filename){
cDataFile& df = m_world->GetDataFile(filename);
df.WriteComment("Avida deme tasks data");
@@ -1740,7 +1741,7 @@
const int num_tasks = m_world->GetEnvironment().GetNumTasks();
- df.Write(m_update, "Update");
+ df.Write(m_update, "Update");
for(int i=0; i<m_world->GetPopulation().GetNumDemes(); ++i) {
cDeme& deme = m_world->GetPopulation().GetDeme(i);
for(int j = 0; j < num_tasks; j++) {
@@ -1750,118 +1751,110 @@
df.Endl();
}
-void cStats::PrintPerTreatableDemeTasksData(const cString& filename) {
+
+void cStats::PrintPerDemeTasksExeData(const cString& filename){
cDataFile& df = m_world->GetDataFile(filename);
- df.WriteComment("Avida treatable deme tasks data");
+ df.WriteComment("Avida deme tasks exe data");
df.WriteTimeStamp();
df.WriteComment("First column gives the current update, next columns give the number");
- df.WriteComment("of organisms that have the particular task as a component of their merit");
+ df.WriteComment("of times a task has contributed to the merit of all organisms");
df.WriteComment("in a particular deme");
-
+
const int num_tasks = m_world->GetEnvironment().GetNumTasks();
-
- df.Write(m_update, "Update");
+
+ df.Write(m_update, "Update");
for(int i=0; i<m_world->GetPopulation().GetNumDemes(); ++i) {
cDeme& deme = m_world->GetPopulation().GetDeme(i);
-
- if(deme.isTreatable()) {
- for(int j = 0; j < num_tasks; j++) {
- df.Write( (deme.GetLastTaskExeCount()[j] > 0), cStringUtil::Stringf("%i.", i) + task_names[j] );
- }
+ for(int j = 0; j < num_tasks; j++) {
+ df.Write( deme.GetLastTaskExeCount()[j], cStringUtil::Stringf("%i.", i) + task_names[j] );
}
}
df.Endl();
}
-void cStats::PrintPerUntreatableDemeTasksData(const cString& filename) {
+void cStats::PrintAvgDemeTasksExeData(const cString& filename) {
cDataFile& df = m_world->GetDataFile(filename);
- df.WriteComment("Avida untreatable deme tasks data");
+ const int num_demes = m_world->GetPopulation().GetNumDemes();
+ const int num_tasks = m_world->GetEnvironment().GetNumTasks();
+ cIntSum tasksum;
+
+ df.WriteComment("Avida average deme tasks data");
df.WriteTimeStamp();
- df.WriteComment("First column gives the current update, next columns give the number");
- df.WriteComment("of organisms that have the particular task as a component of their merit");
- df.WriteComment("in a particular deme");
+ df.WriteComment("First column is the update, remaining columns are the average number of times");
+ df.WriteComment("each task has been executed by the demes");
+ df.WriteComment(cStringUtil::Stringf("Data based on %i demes and %i tasks", num_demes, num_tasks));
- const int num_tasks = m_world->GetEnvironment().GetNumTasks();
+ df.Write(m_update, "Update");
- df.Write(m_update, "Update");
- for(int i=0; i<m_world->GetPopulation().GetNumDemes(); ++i) {
- cDeme& deme = m_world->GetPopulation().GetDeme(i);
+ for(int t = 0; t < num_tasks; t++) {
+ tasksum.Clear();
- if(!deme.isTreatable()) {
- for(int j = 0; j < num_tasks; j++) {
- df.Write( (deme.GetLastTaskExeCount()[j] > 0), cStringUtil::Stringf("%i.", i) + task_names[j] );
- }
+ for(int d = 0; d < num_demes; d++) {
+ cDeme& deme = m_world->GetPopulation().GetDeme(d);
+ tasksum.Add(deme.GetLastTaskExeCount()[t]);
}
- }
- df.Endl();
+ df.Write(tasksum.Average(), task_names[t]);
+ }
+ df.Endl();
}
-void cStats::PrintPerDemeTasksExeData(const cString& filename){
- cDataFile& df = m_world->GetDataFile(filename);
- df.WriteComment("Avida deme tasks exe data");
- df.WriteTimeStamp();
- df.WriteComment("First column gives the current update, next columns give the number");
- df.WriteComment("of times a task has contributed to the merit of all organisms");
- df.WriteComment("in a particular deme");
- const int num_tasks = m_world->GetEnvironment().GetNumTasks();
-
- df.Write(m_update, "Update");
- for(int i=0; i<m_world->GetPopulation().GetNumDemes(); ++i) {
- cDeme& deme = m_world->GetPopulation().GetDeme(i);
- for(int j = 0; j < num_tasks; j++) {
- df.Write( deme.GetLastTaskExeCount()[j], cStringUtil::Stringf("%i.", i) + task_names[j] );
- }
- }
- df.Endl();
-}
-
-void cStats::PrintPerTreatableDemeTasksExeData(const cString& filename) {
+void cStats::PrintAvgTreatableDemeTasksExeData(const cString& filename) {
cDataFile& df = m_world->GetDataFile(filename);
- df.WriteComment("Avida treatable deme tasks exe data");
+ const int num_demes = m_world->GetPopulation().GetNumDemes();
+ const int num_tasks = m_world->GetEnvironment().GetNumTasks();
+ cIntSum tasksum;
+
+ df.WriteComment("Avida average tasks data for treatable demes");
df.WriteTimeStamp();
- df.WriteComment("First column gives the current update, next columns give the number");
- df.WriteComment("of times a task has contributed to the merit of all organisms");
- df.WriteComment("in a particular deme");
+ df.WriteComment("First column is the update, remaining columns are the average number of times");
+ df.WriteComment("each task has been executed by treatable demes");
+ df.WriteComment(cStringUtil::Stringf("Data based on %i demes and %i tasks", num_demes, num_tasks));
- const int num_tasks = m_world->GetEnvironment().GetNumTasks();
+ df.Write(m_update, "Update");
- df.Write(m_update, "Update");
- for(int i=0; i<m_world->GetPopulation().GetNumDemes(); ++i) {
- cDeme& deme = m_world->GetPopulation().GetDeme(i);
+ for(int t = 0; t < num_tasks; t++) {
+ tasksum.Clear();
- if(deme.isTreatable()) {
- for(int j = 0; j < num_tasks; j++) {
- df.Write( deme.GetLastTaskExeCount()[j], cStringUtil::Stringf("%i.", i) + task_names[j] );
+ for(int d = 0; d < num_demes; d++) {
+ cDeme& deme = m_world->GetPopulation().GetDeme(d);
+ if(deme.isTreatable()) {
+ tasksum.Add(deme.GetLastTaskExeCount()[t]);
}
}
- }
- df.Endl();
+ df.Write(tasksum.Average(), task_names[t]);
+ }
+ df.Endl();
}
-void cStats::PrintPerUntreatableDemeTasksExeData(const cString& filename) {
+void cStats::PrintAvgUntreatableDemeTasksExeData(const cString& filename) {
cDataFile& df = m_world->GetDataFile(filename);
- df.WriteComment("Avida untreatable deme tasks exe data");
+ const int num_demes = m_world->GetPopulation().GetNumDemes();
+ const int num_tasks = m_world->GetEnvironment().GetNumTasks();
+ cIntSum tasksum;
+
+ df.WriteComment("Avida average tasks data for untreatable demes");
df.WriteTimeStamp();
- df.WriteComment("First column gives the current update, next columns give the number");
- df.WriteComment("of times a task has contributed to the merit of all organisms");
- df.WriteComment("in a particular deme");
+ df.WriteComment("First column is the update, remaining columns are the average number of times");
+ df.WriteComment("each task has been executed by untreatable demes");
+ df.WriteComment(cStringUtil::Stringf("Data based on %i demes and %i tasks", num_demes, num_tasks));
- const int num_tasks = m_world->GetEnvironment().GetNumTasks();
+ df.Write(m_update, "Update");
- df.Write(m_update, "Update");
- for(int i=0; i<m_world->GetPopulation().GetNumDemes(); ++i) {
- cDeme& deme = m_world->GetPopulation().GetDeme(i);
+ for(int t = 0; t < num_tasks; t++) {
+ tasksum.Clear();
- if(!deme.isTreatable()) {
- for(int j = 0; j < num_tasks; j++) {
- df.Write( deme.GetLastTaskExeCount()[j], cStringUtil::Stringf("%i.", i) + task_names[j] );
+ for(int d = 0; d < num_demes; d++) {
+ cDeme& deme = m_world->GetPopulation().GetDeme(d);
+ if(!deme.isTreatable()) {
+ tasksum.Add(deme.GetLastTaskExeCount()[t]);
}
}
- }
- df.Endl();
+ df.Write(tasksum.Average(), task_names[t]);
+ }
+ df.Endl();
}
Modified: development/source/main/cStats.h
===================================================================
--- development/source/main/cStats.h 2009-06-18 21:09:54 UTC (rev 3324)
+++ development/source/main/cStats.h 2009-06-19 17:45:46 UTC (rev 3325)
@@ -850,11 +850,10 @@
void PrintDemeFoundersData(const cString& filename);
void PrintPerDemeTasksData(const cString& filename);
- void PrintPerTreatableDemeTasksData(const cString& filename);
- void PrintPerUntreatableDemeTasksData(const cString& filename);
void PrintPerDemeTasksExeData(const cString& filename);
- void PrintPerTreatableDemeTasksExeData(const cString& filename);
- void PrintPerUntreatableDemeTasksExeData(const cString& filename);
+ void PrintAvgDemeTasksExeData(const cString& filename);
+ void PrintAvgTreatableDemeTasksExeData(const cString& filename);
+ void PrintAvgUntreatableDemeTasksExeData(const cString& filename);
void PrintPerDemeReactionData(const cString& filename);
void PrintDemeTasksData(const cString& filename);
void PrintDemeTasksExeData(const cString& filename);
More information about the Avida-cvs
mailing list