[Avida-SVN] r3193 - branches/hjg-dev/source/main

hjg at myxo.css.msu.edu hjg at myxo.css.msu.edu
Thu Mar 19 19:31:37 PDT 2009


Author: hjg
Date: 2009-03-19 22:31:37 -0400 (Thu, 19 Mar 2009)
New Revision: 3193

Modified:
   branches/hjg-dev/source/main/cStats.cc
   branches/hjg-dev/source/main/cStats.h
   branches/hjg-dev/source/main/cTaskLib.cc
Log:
new stats tracking for donate methods

Modified: branches/hjg-dev/source/main/cStats.cc
===================================================================
--- branches/hjg-dev/source/main/cStats.cc	2009-03-19 13:52:03 UTC (rev 3192)
+++ branches/hjg-dev/source/main/cStats.cc	2009-03-20 02:31:37 UTC (rev 3193)
@@ -142,6 +142,13 @@
 	, m_num_gb (0)
   , m_num_rand (0)
   , m_num_nopx (0)
+  , m_num_kin_donates (0)
+  , m_num_edt_donates (0) 
+  , m_num_thresh_gb_donates (0)
+  , m_num_shaded_gb_donates (0) 
+  , m_num_gb_donates (0)
+  , m_num_rand_donates (0) 
+  , m_num_nopx_donates (0)	
 {
   const cEnvironment& env = m_world->GetEnvironment();
   const int num_tasks = env.GetNumTasks();
@@ -1991,14 +1998,20 @@
 	df.WriteComment("The donation strategies preferred by an organism.");
 	df.WriteTimeStamp();
 	df.Write(m_update,   "Update [update]");	
-	df.Write(m_num_kin, "Kin [kin]");
+	df.Write(m_num_kin, "Kin [kin]");	
 	df.Write(m_num_edt, "Edit [edit]");
 	df.Write(m_num_thresh_gb, "Thresh [thresh]");
 	df.Write(m_num_shaded_gb, "Shaded [shaded]");
 	df.Write(m_num_gb, "GB [gb]");
 	df.Write(m_num_rand, "Rand [rand]");
 	df.Write(m_num_nopx, "NopX [nopx]");
-	
+	df.Write(m_num_kin_donates, "Kin-Donates [kindonates]");	
+	df.Write(m_num_edt_donates, "Edit-Donates [editdonates]");
+	df.Write(m_num_thresh_gb_donates, "Thresh-Donates [threshdonates]");
+	df.Write(m_num_shaded_gb_donates, "Shaded-Donates [shadeddonates]");
+	df.Write(m_num_gb_donates, "GB-Donates [gbdonates]");
+	df.Write(m_num_rand_donates, "Rand-Donates [randdonates]");
+	df.Write(m_num_nopx_donates, "NopX-Donates [nopxdonates]");
 	m_num_kin =0;
 	m_num_edt = 0;
 	m_num_thresh_gb =0;
@@ -2006,6 +2019,13 @@
 	m_num_gb =0;
 	m_num_rand =0; 
 	m_num_nopx =0; 
+	m_num_kin_donates =0; 
+	m_num_edt_donates =0; 
+	m_num_thresh_gb_donates =0; 
+	m_num_shaded_gb_donates =0; 
+	m_num_gb_donates =0;
+	m_num_rand_donates =0; 
+	m_num_nopx_donates =0;	
 	
   df.Endl();
 	

Modified: branches/hjg-dev/source/main/cStats.h
===================================================================
--- branches/hjg-dev/source/main/cStats.h	2009-03-19 13:52:03 UTC (rev 3192)
+++ branches/hjg-dev/source/main/cStats.h	2009-03-20 02:31:37 UTC (rev 3193)
@@ -810,12 +810,20 @@
 public:
 	void PrintGreenBeardSupport(const cString& filename); 
 	void IncNumKin() {m_num_kin++;}
+	void IncNumKinDonates(int n) {m_num_kin_donates+=n;}
 	void IncNumEdt() {m_num_edt++;}
+	void IncNumEdtDonates(int n) {m_num_edt_donates+=n;}
 	void IncNumThreshGB() {m_num_thresh_gb++;}
+	void IncNumThreshGBDonates(int n) {m_num_thresh_gb_donates+=n;}
 	void IncNumShadedGB() {m_num_shaded_gb++;}
+	void IncNumShadedGBDonates(int n) {m_num_shaded_gb_donates+=n;}
 	void IncNumGB() {m_num_gb++;}
+	void IncNumGBDonates(int n) {m_num_gb_donates+=n;}
 	void IncNumRand() {m_num_rand++; }
+	void IncNumRandDonates(int n) {m_num_rand_donates+=n; }
 	void IncNumNopX() {m_num_nopx++; }
+	void IncNumNopXDonates(int n) {m_num_nopx_donates+=n; }
+
 protected:
 	int m_num_kin; 
 	int m_num_edt; 
@@ -824,6 +832,13 @@
 	int m_num_gb;
 	int m_num_rand; 
 	int m_num_nopx; 
+	int m_num_kin_donates; 
+	int m_num_edt_donates; 
+	int m_num_thresh_gb_donates; 
+	int m_num_shaded_gb_donates; 
+	int m_num_gb_donates;
+	int m_num_rand_donates; 
+	int m_num_nopx_donates;	
   
   // -------- Deme replication support --------
 public:

Modified: branches/hjg-dev/source/main/cTaskLib.cc
===================================================================
--- branches/hjg-dev/source/main/cTaskLib.cc	2009-03-19 13:52:03 UTC (rev 3192)
+++ branches/hjg-dev/source/main/cTaskLib.cc	2009-03-20 02:31:37 UTC (rev 3193)
@@ -3304,25 +3304,13 @@
 	
 	if (phenotype.GetCurInstCount().GetSize() == 0) return 0.0;
 
-	// Identify how many shaded green beard donations this organisms made
-	// First figure out what number instruction donate-shadedgb is
 	cInstSet& inst_set = m_world->GetHardwareManager().GetInstSet();
 	const int num_inst = m_world->GetNumInstructions();
 	
 	
-	//int num_nopx; (0)
-	//int num_kin;  (1)
-	//int num_edt;  (2)
-	//int num_thresh_gb;  (3)
-	//int num_shaded_gb;  (4)
-	//int num_gb; (5)
-	//int num_rand; (6)
-	
 	// Init vector to 0.
 	vector<int> inst_count(7, 0); 
 	
-	
-	int inst_number = 0;
 	for (int i = 0; i < num_inst; i++) { 
 		
 		if ((inst_set.GetName(i) == "nop-X")) {
@@ -3354,24 +3342,31 @@
 	switch (max_i) { 
 		case 0:
 			m_world->GetStats().IncNumNopX();
+			m_world->GetStats().IncNumNopXDonates(inst_count[0]);			
 			break;
 		case 1: 
 			m_world->GetStats().IncNumKin(); 
+			m_world->GetStats().IncNumKinDonates(inst_count[1]); 			
 			break;
 		case 2: 
 			m_world->GetStats().IncNumEdt();
+			m_world->GetStats().IncNumEdtDonates(inst_count[2]);
 			break;
 		case 3:
 			m_world->GetStats().IncNumThreshGB();
+			m_world->GetStats().IncNumThreshGBDonates(inst_count[3]);
 			break;
 		case 4:
 			m_world->GetStats().IncNumShadedGB();
+			m_world->GetStats().IncNumShadedGBDonates(inst_count[4]);
 			break;
 		case 5:
 			m_world->GetStats().IncNumGB();
+			m_world->GetStats().IncNumGBDonates(inst_count[5]);
 			break;
 		case 6:
 			m_world->GetStats().IncNumRand();
+			m_world->GetStats().IncNumRandDonates(inst_count[6]);
 			break;
 	}
 	return 0.0;




More information about the Avida-cvs mailing list