[Avida-SVN] r1617 - in development/source: actions drivers main targets/avida-viewer
brysonda at myxo.css.msu.edu
brysonda at myxo.css.msu.edu
Sat May 26 14:56:18 PDT 2007
Author: brysonda
Date: 2007-05-26 17:56:18 -0400 (Sat, 26 May 2007)
New Revision: 1617
Modified:
development/source/actions/PrintActions.cc
development/source/drivers/cDefaultRunDriver.cc
development/source/main/cOrganism.h
development/source/main/cPhenotype.cc
development/source/main/cPhenotype.h
development/source/main/cPopulation.cc
development/source/main/cStats.cc
development/source/main/cStats.h
development/source/targets/avida-viewer/cSymbolUtil.cc
development/source/targets/avida-viewer/cZoomScreen.cc
Log:
Rework tracking of the number of extant parasites.
Modified: development/source/actions/PrintActions.cc
===================================================================
--- development/source/actions/PrintActions.cc 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/actions/PrintActions.cc 2007-05-26 21:56:18 UTC (rev 1617)
@@ -81,7 +81,7 @@
STATS_OUT_FILE(PrintTimeData, time.dat );
STATS_OUT_FILE(PrintMutationRateData, mutation_rates.dat );
STATS_OUT_FILE(PrintDivideMutData, divide_mut.dat );
-STATS_OUT_FILE(PrintDominantParaData, parasite.dat );
+STATS_OUT_FILE(PrintParasiteData, parasite.dat );
STATS_OUT_FILE(PrintInstructionData, instruction.dat );
STATS_OUT_FILE(PrintGenotypeMap, genotype_map.m );
STATS_OUT_FILE(PrintMarketData, market.dat );
@@ -2311,7 +2311,7 @@
action_lib->Register<cActionPrintTimeData>("PrintTimeData");
action_lib->Register<cActionPrintMutationRateData>("PrintMutationRateData");
action_lib->Register<cActionPrintDivideMutData>("PrintDivideMutData");
- action_lib->Register<cActionPrintDominantParaData>("PrintDominantParaData");
+ action_lib->Register<cActionPrintParasiteData>("PrintParasiteData");
action_lib->Register<cActionPrintInstructionData>("PrintInstructionData");
action_lib->Register<cActionPrintGenotypeMap>("PrintGenotypeMap");
action_lib->Register<cActionPrintMarketData>("PrintMarketData");
@@ -2386,7 +2386,6 @@
action_lib->Register<cActionPrintTimeData>("print_time_data");
action_lib->Register<cActionPrintMutationRateData>("print_mutation_rate_data");
action_lib->Register<cActionPrintDivideMutData>("print_divide_mut_data");
- action_lib->Register<cActionPrintDominantParaData>("print_dom_parasite_data");
action_lib->Register<cActionPrintInstructionData>("print_instruction_data");
action_lib->Register<cActionPrintGenotypeMap>("print_genotype_map");
action_lib->Register<cActionPrintMarketData>("print_market_data");
Modified: development/source/drivers/cDefaultRunDriver.cc
===================================================================
--- development/source/drivers/cDefaultRunDriver.cc 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/drivers/cDefaultRunDriver.cc 2007-05-26 21:56:18 UTC (rev 1617)
@@ -121,7 +121,8 @@
<< "Gen: " << setw(9) << setprecision(7) << stats.SumGeneration().Average() << " "
<< "Fit: " << setw(9) << setprecision(7) << stats.GetAveFitness() << " "
<< "Orgs: " << setw(6) << population.GetNumOrganisms() << " "
- << "Thrd: " << stats.GetNumThreads()
+ << "Thrd: " << setw(6) << stats.GetNumThreads() << " "
+ << "Para: " << stats.GetNumParasites()
<< endl;
}
Modified: development/source/main/cOrganism.h
===================================================================
--- development/source/main/cOrganism.h 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/main/cOrganism.h 2007-05-26 21:56:18 UTC (rev 1617)
@@ -228,7 +228,7 @@
bool InjectHost(const cCodeLabel& in_label, const cGenome& genome);
void AddParasite(cInjectGenotype* cur) { m_parasites.Push(cur); }
cInjectGenotype& GetParasite(int x) { return *m_parasites[x]; }
- int GetNumParasites() { return m_parasites.GetSize(); }
+ int GetNumParasites() const { return m_parasites.GetSize(); }
void ClearParasites() { m_parasites.Resize(0); }
Modified: development/source/main/cPhenotype.cc
===================================================================
--- development/source/main/cPhenotype.cc 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/main/cPhenotype.cc 2007-05-26 21:56:18 UTC (rev 1617)
@@ -175,7 +175,6 @@
// Setup flags...
is_injected = false;
- is_parasite = false;
is_donor_cur = false;
is_donor_last = parent_phenotype.is_donor_last;
is_donor_rand = false;
@@ -297,7 +296,6 @@
// Setup flags...
is_injected = true;
- is_parasite = false;
is_donor_last = false;
is_donor_cur = false;
is_donor_rand = false;
@@ -425,7 +423,6 @@
// Leave flags alone...
(void) is_injected;
- (void) is_parasite;
is_donor_last = is_donor_cur;
is_donor_cur = false;
is_donor_rand_last = is_donor_rand;
@@ -563,7 +560,6 @@
// Leave flags alone...
(void) is_injected;
- (void) is_parasite;
is_donor_last = is_donor_cur;
is_donor_cur = false;
is_donor_rand_last = is_donor_rand;
@@ -692,7 +688,6 @@
// Setup flags...
is_injected = false;
- is_parasite = false;
is_donor_last = clone_phenotype.is_donor_last;
is_donor_cur = clone_phenotype.is_donor_cur;
is_receiver = false;
@@ -875,7 +870,6 @@
fp << life_fitness << " ";
fp << is_injected << " ";
- fp << is_parasite << " ";
fp << is_donor_last << " ";
fp << is_donor_cur << " ";
fp << is_donor_rand_last << " ";
@@ -985,7 +979,6 @@
fp >> life_fitness;
fp >> is_injected;
- fp >> is_parasite;
fp >> is_donor_last;
fp >> is_donor_cur;
fp >> is_donor_rand_last;
Modified: development/source/main/cPhenotype.h
===================================================================
--- development/source/main/cPhenotype.h 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/main/cPhenotype.h 2007-05-26 21:56:18 UTC (rev 1617)
@@ -152,7 +152,6 @@
bool to_die; // Has organism has triggered something fatal?
bool to_delete; // Should this organism be deleted when finished?
bool is_injected; // Was this organism injected into the population?
- bool is_parasite; // Has this organism ever executed outside code?
bool is_donor_cur; // Has this organism attempted to donate merit?
bool is_donor_last; // Did this organism's parent attempt to donate merit?
bool is_donor_rand; // Has this organism attempted a random donation?
@@ -319,7 +318,6 @@
bool IsInjected() const { assert(initialized == true); return is_injected; }
- bool IsParasite() const { assert(initialized == true); return is_parasite; }
bool IsDonorCur() const { assert(initialized == true); return is_donor_cur; }
bool IsDonorLast() const { assert(initialized == true); return is_donor_last; }
bool IsDonorRand() const { assert(initialized == true); return is_donor_rand; }
@@ -423,7 +421,6 @@
void IncDonates() { assert(initialized == true); cur_num_donates++; }
void IncSenseCount(const int i) { assert(initialized == true); cur_sense_count[i]++; }
bool& IsInjected() { assert(initialized == true); return is_injected; }
- bool& IsParasite() { assert(initialized == true); return is_parasite; }
bool& IsModifier() { assert(initialized == true); return is_modifier; }
bool& IsModified() { assert(initialized == true); return is_modified; }
bool& IsFertile() { assert(initialized == true); return is_fertile; }
Modified: development/source/main/cPopulation.cc
===================================================================
--- development/source/main/cPopulation.cc 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/main/cPopulation.cc 2007-05-26 21:56:18 UTC (rev 1617)
@@ -1705,8 +1705,8 @@
}
// Increment the counts for all qualities the organism has...
+ num_parasites += organism->GetNumParasites();
if (phenotype.ParentTrue()) num_breed_true++;
- if (phenotype.IsParasite()) num_parasites++;
if (phenotype.GetNumDivides() == 0) num_no_birth++;
if (phenotype.IsMultiThread()) num_multi_thread++;
else num_single_thread++;
Modified: development/source/main/cStats.cc
===================================================================
--- development/source/main/cStats.cc 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/main/cStats.cc 2007-05-26 21:56:18 UTC (rev 1617)
@@ -627,7 +627,7 @@
df.Endl();
}
-void cStats::PrintDominantParaData(const cString& filename)
+void cStats::PrintParasiteData(const cString& filename)
{
cDataFile& df = m_world->GetDataFile(filename);
@@ -635,6 +635,7 @@
df.WriteTimeStamp();
df.Write(m_update, "Update");
+ df.Write(num_parasites, "Number of Extant Parasites");
df.Write(dom_inj_size, "Size of Dominant Parasite Genotype");
df.Write(dom_inj_abundance, "Abundance of Dominant Parasite Genotype");
df.Write(dom_inj_genotype_id, "Genotype ID of Dominant Parasite Genotype");
@@ -689,7 +690,6 @@
df.Write(num_deaths, "number of deaths in this update");
df.Write(num_breed_true, "number of breed true");
df.Write(num_breed_true_creatures, "number of breed true organisms?");
- //df.Write(num_parasites, "number of parasites");
df.Write(num_no_birth_creatures, "number of no-birth organisms");
df.Write(num_single_thread_creatures, "number of single-threaded organisms");
df.Write(num_multi_thread_creatures, "number of multi-threaded organisms");
Modified: development/source/main/cStats.h
===================================================================
--- development/source/main/cStats.h 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/main/cStats.h 2007-05-26 21:56:18 UTC (rev 1617)
@@ -586,7 +586,7 @@
void PrintErrorData(const cString& filename);
void PrintVarianceData(const cString& filename);
void PrintDominantData(const cString& filename);
- void PrintDominantParaData(const cString& filename);
+ void PrintParasiteData(const cString& filename);
void PrintStatsData(const cString& filename);
void PrintCountData(const cString& filename);
void PrintTotalsData(const cString& filename);
Modified: development/source/targets/avida-viewer/cSymbolUtil.cc
===================================================================
--- development/source/targets/avida-viewer/cSymbolUtil.cc 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/targets/avida-viewer/cSymbolUtil.cc 2007-05-26 21:56:18 UTC (rev 1617)
@@ -88,7 +88,7 @@
if (cell.IsOccupied() == false) return ' ';
const cOrganism & organism = *(cell.GetOrganism());
- if (organism.GetPhenotype().IsParasite() == true) return '*';
+ if (organism.GetNumParasites()) return '*';
return '-';
}
Modified: development/source/targets/avida-viewer/cZoomScreen.cc
===================================================================
--- development/source/targets/avida-viewer/cZoomScreen.cc 2007-05-26 21:16:49 UTC (rev 1616)
+++ development/source/targets/avida-viewer/cZoomScreen.cc 2007-05-26 21:56:18 UTC (rev 1617)
@@ -408,7 +408,8 @@
info.GetActiveCell()->IsOccupied() == false) return;
cGenotype* genotype = info.GetActiveGenotype();
- cPhenotype& phenotype = info.GetActiveCell()->GetOrganism()->GetPhenotype();
+ cOrganism* organism = info.GetActiveCell()->GetOrganism();
+ cPhenotype& phenotype = organism->GetPhenotype();
SetBoldColor(COLOR_CYAN);
@@ -454,7 +455,7 @@
else SetColor(COLOR_CYAN);
Print(CPU_FLAGS_Y + 3, CPU_FLAGS_X + 1, "Injected");
- if (phenotype.IsParasite()) SetBoldColor(COLOR_CYAN);
+ if (organism->GetNumParasites()) SetBoldColor(COLOR_CYAN);
else SetColor(COLOR_CYAN);
Print(CPU_FLAGS_Y + 4, CPU_FLAGS_X + 1, "Parasite");
@@ -467,12 +468,13 @@
Print(CPU_FLAGS_Y + 6, CPU_FLAGS_X + 1, "Modified");
SetColor(COLOR_WHITE);
+
+// @DMB - This needs to be reworked for current parasite implementation
+// if (info.GetPauseLevel() && info.GetActiveCell() && phenotype.IsParasite()) {
+// if (parasite_zoom == true) Print(17, 12, "[X] Host Code ");
+// else Print(17, 12, "[X] Parasite Code");
+// }
- if (info.GetPauseLevel() && info.GetActiveCell() && phenotype.IsParasite()) {
- if (parasite_zoom == true) Print(17, 12, "[X] Host Code ");
- else Print(17, 12, "[X] Parasite Code");
- }
-
// Place the task information onto the screen.
SetColor(COLOR_CYAN);
More information about the Avida-cvs
mailing list