[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