[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