[Avida-SVN] r1627 - in development/source: main tools
brysonda at myxo.css.msu.edu
brysonda at myxo.css.msu.edu
Fri Jun 1 10:48:26 PDT 2007
Author: brysonda
Date: 2007-06-01 13:48:26 -0400 (Fri, 01 Jun 2007)
New Revision: 1627
Modified:
development/source/main/cPhenotype.cc
development/source/main/cStats.cc
development/source/tools/cDataFile.cc
development/source/tools/cDataFile.h
Log:
Ensure that initial phenotype instruction counts are inititialized to zero. This should fix early run odditities in instruction.dat.
Modified: development/source/main/cPhenotype.cc
===================================================================
--- development/source/main/cPhenotype.cc 2007-05-30 23:52:47 UTC (rev 1626)
+++ development/source/main/cPhenotype.cc 2007-06-01 17:48:26 UTC (rev 1627)
@@ -277,6 +277,7 @@
last_task_value.SetAll(0);
last_reaction_count.SetAll(0);
last_reaction_add_reward.SetAll(0);
+ last_inst_count.SetAll(0);
last_sense_count.SetAll(0);
// Setup other miscellaneous values...
Modified: development/source/main/cStats.cc
===================================================================
--- development/source/main/cStats.cc 2007-05-30 23:52:47 UTC (rev 1626)
+++ development/source/main/cStats.cc 2007-06-01 17:48:26 UTC (rev 1627)
@@ -135,10 +135,10 @@
task_exe_count.SetAll(0);
#if INSTRUCTION_COUNT
- sum_exe_inst_array.Resize( m_world->GetNumInstructions() );
+ sum_exe_inst_array.Resize(m_world->GetNumInstructions());
ZeroInst();
#endif
- inst_names.Resize( m_world->GetNumInstructions() );
+ inst_names.Resize(m_world->GetNumInstructions());
reaction_count.Resize( m_world->GetNumReactions() );
reaction_count.SetAll(0);
@@ -322,7 +322,7 @@
#if INSTRUCTION_COUNT
void cStats::ZeroInst()
{
- for( int i=0; i < sum_exe_inst_array.GetSize(); i++ ){
+ for (int i = 0; i < sum_exe_inst_array.GetSize(); i++) {
sum_exe_inst_array[i].Clear();
}
}
@@ -920,10 +920,11 @@
df.WriteComment("Avida instruction execution data");
df.WriteTimeStamp();
+ df.Write(m_update, "Update");
+
#if INSTRUCTION_COUNT
- df.Write(m_update, "Update");
- for( int i=0; i < sum_exe_inst_array.GetSize(); i++ ){
- df.Write((int) sum_exe_inst_array[i].Sum(), inst_names[i]);
+ for (int i = 0; i < sum_exe_inst_array.GetSize(); i++) {
+ df.Write(sum_exe_inst_array[i].Sum(), inst_names[i]);
}
#else // INSTRUCTION_COUNT undefined
m_world->GetDriver().RaiseException("Warning: Instruction Counts not compiled in");
Modified: development/source/tools/cDataFile.cc
===================================================================
--- development/source/tools/cDataFile.cc 2007-05-30 23:52:47 UTC (rev 1626)
+++ development/source/tools/cDataFile.cc 2007-06-01 17:48:26 UTC (rev 1627)
@@ -61,6 +61,16 @@
}
+void cDataFile::Write(long i, const char* descr)
+{
+ if (!m_descr_written) {
+ m_data += cStringUtil::Stringf("%i ", i);
+ WriteColumnDesc(descr);
+ } else
+ m_fp << i << " ";
+}
+
+
void cDataFile::Write(const char* data_str, const char* descr)
{
if (!m_descr_written) {
Modified: development/source/tools/cDataFile.h
===================================================================
--- development/source/tools/cDataFile.h 2007-05-30 23:52:47 UTC (rev 1626)
+++ development/source/tools/cDataFile.h 2007-06-01 17:48:26 UTC (rev 1627)
@@ -107,9 +107,11 @@
void Write(double x, const char* descr);
void Write(int i, const char* descr);
+ void Write(long i, const char* descr);
void Write(const char* data_str, const char* descr);
inline void WriteAnonymous(double x) { m_fp << x << " "; }
inline void WriteAnonymous(int i) { m_fp << i << " "; }
+ inline void WriteAnonymous(long i) { m_fp << i << " "; }
inline void WriteAnonymous(const char* data_str) { m_fp << data_str << " "; }
void WriteBlockElement(double x, int element, int x_size);
void WriteBlockElement(int i, int element, int x_size);
More information about the Avida-cvs
mailing list