[Avida-SVN] r3340 - in branches/interrupt: . Avida.xcodeproj documentation source source/actions source/cpu source/main source/tools tests/energy_deme_level_res tests/energy_deme_level_res/expected tests/energy_deme_level_res/expected/data tests/interruptModel_quorumSensing tests/interruptModel_quorumSensing/config
beckma24 at myxo.css.msu.edu
beckma24 at myxo.css.msu.edu
Thu Jun 25 14:17:10 PDT 2009
Author: beckma24
Date: 2009-06-25 17:17:10 -0400 (Thu, 25 Jun 2009)
New Revision: 3340
Added:
branches/interrupt/source/main/cDemeNetwork.cc
branches/interrupt/source/main/cDemeNetwork.h
branches/interrupt/source/main/cDemeNetworkUtils.h
branches/interrupt/source/main/cDemeTopologyNetwork.cc
branches/interrupt/source/main/cDemeTopologyNetwork.h
branches/interrupt/tests/energy_deme_level_res/expected/
branches/interrupt/tests/energy_deme_level_res/expected/data/
branches/interrupt/tests/energy_deme_level_res/expected/data/average.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/count.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_donor.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_fitness.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_gest_time.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_merit.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_receiver.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_resources.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_task.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/dominant.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/instruction.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/instruction_histogram.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/resource.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/sleep.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/stats.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/tasks.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/tasks_exe.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/time.dat
Removed:
branches/interrupt/tests/energy_deme_level_res/expected/
branches/interrupt/tests/energy_deme_level_res/expected/data/
branches/interrupt/tests/energy_deme_level_res/expected/data/average.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/count.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_donor.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_fitness.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_gest_time.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_merit.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_receiver.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_resources.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m
branches/interrupt/tests/energy_deme_level_res/expected/data/deme_task.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/dominant.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/instruction.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/instruction_histogram.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/resource.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/sleep.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/stats.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/tasks.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/tasks_exe.dat
branches/interrupt/tests/energy_deme_level_res/expected/data/time.dat
branches/interrupt/tests/interruptModel_quorumSensing/expected/
Modified:
branches/interrupt/Avida.xcodeproj/project.pbxproj
branches/interrupt/CMakeLists.txt
branches/interrupt/documentation/text_viewer.html
branches/interrupt/source/actions/PopulationActions.cc
branches/interrupt/source/actions/PrintActions.cc
branches/interrupt/source/cpu/cHardwareBase.cc
branches/interrupt/source/cpu/cHardwareBase.h
branches/interrupt/source/cpu/cHardwareCPU.cc
branches/interrupt/source/cpu/cHardwareCPU.h
branches/interrupt/source/defs.h
branches/interrupt/source/main/cAvidaConfig.h
branches/interrupt/source/main/cBirthChamber.cc
branches/interrupt/source/main/cDeme.cc
branches/interrupt/source/main/cDeme.h
branches/interrupt/source/main/cMutationRates.cc
branches/interrupt/source/main/cMutationRates.h
branches/interrupt/source/main/cOrganism.h
branches/interrupt/source/main/cPopulation.cc
branches/interrupt/source/main/cResourceCount.cc
branches/interrupt/source/main/cResourceCount.h
branches/interrupt/source/main/cStats.cc
branches/interrupt/source/main/cStats.h
branches/interrupt/source/tools/cProbSchedule.cc
branches/interrupt/tests/interruptModel_quorumSensing/config/events.cfg
Log:
merged development r3275:3300 into interrupt branch. All tests pass. Remove expected results for test interruptModel_quorumSensing because or BUG FIX in r3286
Modified: branches/interrupt/Avida.xcodeproj/project.pbxproj
===================================================================
--- branches/interrupt/Avida.xcodeproj/project.pbxproj 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/Avida.xcodeproj/project.pbxproj 2009-06-25 21:17:10 UTC (rev 3340)
@@ -26,6 +26,8 @@
10479F2E0F1BC54B00AF9F6A /* cMutationSteps.cc in Sources */ = {isa = PBXBuildFile; fileRef = 10479F2C0F1BC54B00AF9F6A /* cMutationSteps.cc */; };
2A57A3FF0D6B954D00FC54C7 /* cProbDemeProbSchedule.cc in Sources */ = {isa = PBXBuildFile; fileRef = 2A57A3FD0D6B954D00FC54C7 /* cProbDemeProbSchedule.cc */; };
2A57A4000D6B954D00FC54C7 /* cProbDemeProbSchedule.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A57A3FE0D6B954D00FC54C7 /* cProbDemeProbSchedule.h */; };
+ 42C27C840FDC22AC00C45B78 /* cDemeNetwork.cc in Sources */ = {isa = PBXBuildFile; fileRef = 42C27C7F0FDC22AC00C45B78 /* cDemeNetwork.cc */; };
+ 42C27C870FDC22AC00C45B78 /* cDemeTopologyNetwork.cc in Sources */ = {isa = PBXBuildFile; fileRef = 42C27C820FDC22AC00C45B78 /* cDemeTopologyNetwork.cc */; };
5629D8110C3EE14800C5F152 /* cTextWindow.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5629D80D0C3EE13500C5F152 /* cTextWindow.cc */; };
5629D8180C3EE20C00C5F152 /* libncurses.5.4.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 70658C59085DF67D00486BED /* libncurses.5.4.dylib */; };
5629D8190C3EE21300C5F152 /* libavida-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7023EC330C0A426900362B9C /* libavida-core.a */; };
@@ -396,6 +398,11 @@
423335890BC067E3000DF681 /* cHardwareGX.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cHardwareGX.h; sourceTree = "<group>"; };
42490EFE0BE2472800318058 /* cGermline.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cGermline.h; sourceTree = "<group>"; };
42777E5B0C7F123600AFA4ED /* cOrgMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cOrgMessage.h; sourceTree = "<group>"; };
+ 42C27C7F0FDC22AC00C45B78 /* cDemeNetwork.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cDemeNetwork.cc; sourceTree = "<group>"; };
+ 42C27C800FDC22AC00C45B78 /* cDemeNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cDemeNetwork.h; sourceTree = "<group>"; };
+ 42C27C810FDC22AC00C45B78 /* cDemeNetworkUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cDemeNetworkUtils.h; sourceTree = "<group>"; };
+ 42C27C820FDC22AC00C45B78 /* cDemeTopologyNetwork.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cDemeTopologyNetwork.cc; sourceTree = "<group>"; };
+ 42C27C830FDC22AC00C45B78 /* cDemeTopologyNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cDemeTopologyNetwork.h; sourceTree = "<group>"; };
5629D80D0C3EE13500C5F152 /* cTextWindow.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = cTextWindow.cc; sourceTree = "<group>"; };
5629D80E0C3EE13500C5F152 /* cTextWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cTextWindow.h; sourceTree = "<group>"; };
5629D80F0C3EE13500C5F152 /* ncurses-defs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "ncurses-defs.h"; sourceTree = "<group>"; };
@@ -1515,6 +1522,11 @@
702D4F3908DA61E2007BA469 /* cBirthChamber.h */,
1097463D0AE9606E00929ED6 /* cDeme.cc */,
1097463E0AE9606E00929ED6 /* cDeme.h */,
+ 42C27C7F0FDC22AC00C45B78 /* cDemeNetwork.cc */,
+ 42C27C800FDC22AC00C45B78 /* cDemeNetwork.h */,
+ 42C27C810FDC22AC00C45B78 /* cDemeNetworkUtils.h */,
+ 42C27C820FDC22AC00C45B78 /* cDemeTopologyNetwork.cc */,
+ 42C27C830FDC22AC00C45B78 /* cDemeTopologyNetwork.h */,
702D4EFC08DA5341007BA469 /* cEnvironment.cc */,
702D4EF508DA5328007BA469 /* cEnvironment.h */,
70CA6EB208DB7F8200068AC2 /* cFitnessMatrix.cc */,
@@ -2172,6 +2184,8 @@
BB4777E70FF4074C00A015E4 /* cResourceHistory.cc in Sources */,
BB4777EA0FF4076C00A015E4 /* cOrgMessage.cc in Sources */,
BB4777F00FF407AE00A015E4 /* cModularityAnalysis.cc in Sources */,
+ 42C27C840FDC22AC00C45B78 /* cDemeNetwork.cc in Sources */,
+ 42C27C870FDC22AC00C45B78 /* cDemeTopologyNetwork.cc in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Modified: branches/interrupt/CMakeLists.txt
===================================================================
--- branches/interrupt/CMakeLists.txt 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/CMakeLists.txt 2009-06-25 21:17:10 UTC (rev 3340)
@@ -239,6 +239,8 @@
${MAIN_DIR}/cBirthNeighborhoodHandler.cc
${MAIN_DIR}/cBirthSelectionHandler.cc
${MAIN_DIR}/cDeme.cc
+ ${MAIN_DIR}/cDemeNetwork.cc
+ ${MAIN_DIR}/cDemeTopologyNetwork.cc
${MAIN_DIR}/cDemeCellEvent.cc
${MAIN_DIR}/cEnvironment.cc
${MAIN_DIR}/cEventList.cc
Modified: branches/interrupt/documentation/text_viewer.html
===================================================================
--- branches/interrupt/documentation/text_viewer.html 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/documentation/text_viewer.html 2009-06-25 21:17:10 UTC (rev 3340)
@@ -46,5 +46,6 @@
<hr />
<p><a href="index.html">Return to the Index</a></p>
+
</body>
</html>
Modified: branches/interrupt/source/actions/PopulationActions.cc
===================================================================
--- branches/interrupt/source/actions/PopulationActions.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/actions/PopulationActions.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1073,6 +1073,124 @@
/*
+ Decay the given resource in treatable demes over time
+
+ Parameters:
+ - The name of resource to decay
+ - How the amount of decay decreases over time ['const', 'lin', 'taper'] -- CASE SENSITIVE!
+ - none: the amount of resource decayed remains constant over time
+ - lin: the amount of resource decayed decreases linearly throughout the duration
+ - taper: retains a slowly-decreasing amount of decay then drops off sharply at the end of the duration
+ - Base amount to be removed.
+ - Duration (how long this resource decay should last. works only with lin and exp. none lasts infinitely.)
+ */
+
+class cAction_TherapyDecayDemeResource : public cAction
+ {
+ private:
+ cString m_resname;
+ cString m_decrtype;
+ double m_amount;
+ double m_duration;
+ public:
+ cAction_TherapyDecayDemeResource(cWorld* world, const cString& args) : cAction(world, args), m_amount(0), m_duration(1)
+ {
+ cString largs(args);
+ if (largs.GetSize()) m_resname = largs.PopWord();
+ if (largs.GetSize()) m_decrtype = largs.PopWord();
+ if (largs.GetSize()) m_amount = largs.PopWord().AsDouble();
+ if (largs.GetSize()) m_duration = largs.PopWord().AsInt();
+ assert(m_amount >= 0);
+ assert(m_amount <= 1);
+ assert(m_duration >= 1);
+ }
+
+ static const cString GetDescription() { return "Arguments: [string resource_name=resname, string decrease_type=(none|lin|exp), double amount=0.2]"; }
+
+ void Process(cAvidaContext& ctx)
+ {
+ double adjusted_amount;
+ int time_since_treatment;
+ int latest_treatment_age;
+ std::set<int> treatment_ages;
+ int deme_age;
+
+ //adjusted amount will be something like max(0, 1 - (m_amount * time_since_treatment)) for linear
+
+ cPopulation& pop = m_world->GetPopulation();
+
+ for (int d = 0; d < pop.GetNumDemes(); d++) {
+
+ cDeme &deme = pop.GetDeme(d);
+ deme_age = deme.GetAge();
+ latest_treatment_age = -1;
+ time_since_treatment = INT_MAX;
+
+ if(deme.isTreatable()) {
+
+ treatment_ages = deme.GetTreatmentAges();
+
+ // Find out the last update at which this treatment was started
+ for (std::set<int>::iterator it = treatment_ages.begin(); it != treatment_ages.end(); it++) {
+ if( (*it < deme_age) && (*it > latest_treatment_age) ) {
+ latest_treatment_age = *it;
+ time_since_treatment = deme_age - latest_treatment_age;
+ }
+ }
+
+ // If we haven't begun treatment on this deme, or if this treatment is over, skip it.
+ if ((latest_treatment_age == -1) || (time_since_treatment > m_duration)) {
+ continue;
+ }
+
+ // Find out how much to decrease the resource by
+ // none - as long as the treatment is ongoing, it is at full force
+ // lin - as the treatment continues, the amount decayed decreases linearly
+ // exp - as treatment continues, the amount decayed decreases exponentially
+ if(m_decrtype == "const") {
+ if(time_since_treatment >= m_duration) {
+ adjusted_amount = 0;
+ } else {
+ adjusted_amount = m_amount;
+ }
+ } else if (m_decrtype == "lin") {
+ adjusted_amount = max(0.0, 1 - (time_since_treatment/m_duration)) * m_amount;
+ } else if (m_decrtype == "taper") {
+ adjusted_amount = max(0.0, 1 - pow(time_since_treatment/m_duration, 2)) * m_amount;
+ } else {
+ adjusted_amount = 0;
+ }
+
+ cResourceCount res = deme.GetDemeResourceCount();
+ const int resid = res.GetResourceByName(m_resname);
+
+ if(resid == -1)
+ {
+ //Resource doesn't exist for this deme. This is a bad situation, but just go to next deme.
+ cerr << "Error: Resource \"" << m_resname << "\" not defined for this deme" << endl;
+ continue;
+ }
+
+ if(res.IsSpatial(resid)) {
+ for (int c = 0; c < deme.GetWidth() * deme.GetHeight(); c++) {
+ deme.AdjustSpatialResource(c, resid, -1 * deme.GetSpatialResource(c, resid) * adjusted_amount);
+ } //End iterating through all cells
+ }
+ else
+ {
+ deme.AdjustResource(resid, -1 * res.Get(resid) * adjusted_amount);
+ }
+
+ } //End if deme is treatable
+
+ } //End iterating through all demes
+
+ } //End Process()
+
+ };
+
+
+/*
In avida.cfg, when BASE_MERIT_METHOD is set to 6 (Merit prop. to num times MERIT_BONUS_INST is in genome),
the merit is incremented by MERIT_BONUS_EFFECT if MERIT_BONUS_EFFECT is positive and decremented by
MERIT_BONUS_EFFECT if it is negative. For positive values the counting starts at 1, for negative values it starts
@@ -1745,7 +1863,7 @@
/*! Deme fitness function, to be overriden by specific types of deme competition.
*/
- virtual double Fitness(const cDeme& deme) = 0;
+ virtual double Fitness(cDeme& deme) = 0;
};
@@ -1811,6 +1929,27 @@
};
+/*! Competes demes based on the networks they've constructed.
+ */
+class cActionCompeteDemesByNetwork : public cAbstractCompeteDemes {
+public:
+ //! Constructor.
+ cActionCompeteDemesByNetwork(cWorld* world, const cString& args) : cAbstractCompeteDemes(world, args) {
+ }
+
+ //! Destructor.
+ virtual ~cActionCompeteDemesByNetwork() { }
+
+ //! Retrieve this class's description.
+ static const cString GetDescription() { return "No arguments."; }
+
+ //! Calculate the current fitness of this deme.
+ virtual double Fitness(cDeme& deme) {
+ return deme.GetNetwork().Fitness();
+ }
+};
+
+
/*! This class contains methods that are useful for consensus-related problems.
*/
class ConsensusSupport {
@@ -1881,7 +2020,7 @@
static const cString GetDescription() { return "Arguments: [int compete_period=100 [int replace_number=0]]"; }
//! Calculate the current fitness of this deme.
- virtual double Fitness(const cDeme& deme) {
+ virtual double Fitness(cDeme& deme) {
return max_support(deme).first + 1;
}
@@ -1952,7 +2091,7 @@
return "Competes demes according to the number of times a given task has been completed within that deme";
}
- virtual double Fitness(const cDeme& deme) {
+ virtual double Fitness(cDeme& deme) {
double fitness = pow(deme.GetCurTaskExeCount()[_task_num], 2.0);///deme.GetInjectedCount());
if (fitness == 0.0) fitness = 0.1;
return fitness;
@@ -1991,7 +2130,7 @@
return "Competes demes according to the number of times a given task has been completed within that deme and the efficiency with which it was done";
}
- virtual double Fitness(const cDeme& deme) {
+ virtual double Fitness(cDeme& deme) {
double energy_used = _initial_deme_energy - deme.CalculateTotalEnergy();
double fitness =
pow(deme.GetCurTaskExeCount()[_task_num] * (_initial_deme_energy/energy_used),2);
@@ -2014,7 +2153,7 @@
return "Competes demes according to the distribution of energy among the organisms";
}
- virtual double Fitness(const cDeme& deme) {
+ virtual double Fitness(cDeme& deme) {
const int numcells = deme.GetSize();
double min_energy = -1;
@@ -2106,7 +2245,7 @@
/*! Calculate the fitness based on how well the organisms in this deme have
synchronized their flashes.
*/
- virtual double Fitness(const cDeme& deme) {
+ virtual double Fitness(cDeme& deme) {
cStats::PopulationFlashes::const_iterator deme_flashes = m_world->GetStats().GetFlashTimes().find(deme.GetID());
if(deme_flashes == m_world->GetStats().GetFlashTimes().end()) {
// Hm, nothing to see here. We're done.
@@ -2177,7 +2316,7 @@
static const cString GetDescription() { return "No Arguments"; }
//! Calculate fitness based on how well organisms have spread throughout phase-space.
- virtual double Fitness(const cDeme& deme) {
+ virtual double Fitness(cDeme& deme) {
cStats::PopulationFlashes::const_iterator deme_flashes = m_world->GetStats().GetFlashTimes().find(deme.GetID());
if(deme_flashes == m_world->GetStats().GetFlashTimes().end()) {
// Hm, nothing to see here. We're done.
@@ -2212,7 +2351,7 @@
static const cString GetDescription() { return "No Arguments"; }
- double Fitness(const cDeme& deme) {
+ double Fitness(cDeme& deme) {
double eventsKilled = static_cast<double>(deme.GetEventsKilled());
double totalEvents = static_cast<double>(deme.GetEventsTotal());
double energyRemaining = deme.CalculateTotalEnergy();
@@ -2229,7 +2368,7 @@
static const cString GetDescription() { return "No Arguments"; }
- double Fitness(const cDeme& deme) {
+ double Fitness(cDeme& deme) {
if(m_world->GetConfig().DEMES_PREVENT_STERILE.Get() && deme.GetBirthCount() == 0)
return 1.0;
double energyRemaining = deme.CalculateTotalEnergy();
@@ -3203,6 +3342,7 @@
// Theraputic deme actions
action_lib->Register<cAction_TherapyStructuralNumInst>("TherapyStructuralNumInst");
action_lib->Register<cAction_TherapyStructuralRatioDistBetweenNearest>("TherapyStructuralRatioDistBetweenNearest");
+ action_lib->Register< cAction_TherapyDecayDemeResource>("TherapyDecayDemeResource");
action_lib->Register<cActionToggleRewardInstruction>("ToggleRewardInstruction");
@@ -3234,6 +3374,7 @@
action_lib->Register<cAbstractCompeteDemes_EnergyConserve>("CompeteDemes_EnergyConserve");
action_lib->Register<cAssignRandomCellData>("AssignRandomCellData");
+ action_lib->Register<cActionCompeteDemesByNetwork>("CompeteDemesByNetwork");
action_lib->Register<cActionIteratedConsensus>("IteratedConsensus");
action_lib->Register<cActionSynchronization>("Synchronization");
action_lib->Register<cActionDesynchronization>("Desynchronization");
Modified: branches/interrupt/source/actions/PrintActions.cc
===================================================================
--- branches/interrupt/source/actions/PrintActions.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/actions/PrintActions.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -107,6 +107,7 @@
STATS_OUT_FILE(PrintDemeTreatableCount, deme_treatable.dat );
STATS_OUT_FILE(PrintDemeCompetitionData, deme_compete.dat);
+STATS_OUT_FILE(PrintDemeNetworkData, deme_network.dat);
STATS_OUT_FILE(PrintDemeFoundersData, deme_founders.dat );
STATS_OUT_FILE(PrintPerDemeTasksData, per_deme_tasks.dat );
STATS_OUT_FILE(PrintPerDemeTasksExeData, per_deme_tasks_exe.dat );
Modified: branches/interrupt/source/cpu/cHardwareBase.cc
===================================================================
--- branches/interrupt/source/cpu/cHardwareBase.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/cpu/cHardwareBase.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -199,14 +199,35 @@
*/
int cHardwareBase::Divide_DoMutations(cAvidaContext& ctx, double mut_multiplier, const int maxmut)
{
+ int max_genome_size = m_world->GetConfig().MAX_GENOME_SIZE.Get();
+ int min_genome_size = m_world->GetConfig().MIN_GENOME_SIZE.Get();
+ if (!max_genome_size || max_genome_size > MAX_CREATURE_SIZE) max_genome_size = MAX_CREATURE_SIZE;
+ if (!min_genome_size || min_genome_size < MIN_CREATURE_SIZE) min_genome_size = MIN_CREATURE_SIZE;
+
int totalMutations = 0;
cGenome& offspring_genome = m_organism->OffspringGenome().GetGenome();
m_organism->GetPhenotype().SetDivType(mut_multiplier);
+ // @JEB
+ // All slip mutations should happen first, so that there is a chance
+ // of getting a point mutation within one copy in the same divide.
+
// Divide Slip Mutations - NOT COUNTED.
if (m_organism->TestDivideSlip(ctx)) doSlipMutation(ctx, offspring_genome);
+
+ // Poisson Slip Mutations - NOT COUNTED
+ unsigned int num_poisson_slip = m_organism->NumDividePoissonSlip(ctx);
+ for (unsigned int i = 0; i < num_poisson_slip; i++) { doSlipMutation(ctx, offspring_genome); }
+ // Slip Mutations (per site) - NOT COUNTED
+ if (m_organism->GetDivSlipProb() > 0) {
+ int num_mut = ctx.GetRandom().GetRandBinomial(offspring_genome.GetSize(),
+ m_organism->GetDivSlipProb() / mut_multiplier);
+ for (int i = 0; i < num_mut; i++) doSlipMutation(ctx, offspring_genome);
+ }
+
+
// Divide Mutations
if (m_organism->TestDivideMut(ctx) && totalMutations < maxmut) {
const unsigned int mut_line = ctx.GetRandom().GetUInt(offspring_genome.GetSize());
@@ -215,32 +236,71 @@
offspring_genome.GetMutationSteps().AddSubstitutionMutation(mut_line, before_mutation, offspring_genome[mut_line].GetSymbol());
totalMutations++;
}
+
+ // Poisson Divide Mutations
+ unsigned int num_poisson_mut = m_organism->NumDividePoissonMut(ctx);
+ for (unsigned int i=0; i<num_poisson_mut; i++)
+ {
+ if (totalMutations >= maxmut) break;
+ const unsigned int mut_line = ctx.GetRandom().GetUInt(offspring_genome.GetSize());
+ char before_mutation = offspring_genome[mut_line].GetSymbol();
+ offspring_genome[mut_line] = m_inst_set->GetRandomInst(ctx);
+ offspring_genome.GetMutationSteps().AddSubstitutionMutation(mut_line, before_mutation, offspring_genome[mut_line].GetSymbol());
+ totalMutations++;
+ }
+
+
// Divide Insertions
- if (m_organism->TestDivideIns(ctx) && offspring_genome.GetSize() < MAX_CREATURE_SIZE && totalMutations < maxmut) {
+ if (m_organism->TestDivideIns(ctx) && offspring_genome.GetSize() < max_genome_size && totalMutations < maxmut) {
const unsigned int mut_line = ctx.GetRandom().GetUInt(offspring_genome.GetSize() + 1);
offspring_genome.Insert(mut_line, m_inst_set->GetRandomInst(ctx));
offspring_genome.GetMutationSteps().AddInsertionMutation(mut_line, offspring_genome[mut_line].GetSymbol());
totalMutations++;
}
-
+
+
+ // Poisson Divide Insertions
+ unsigned int num_poisson_ins = m_organism->NumDividePoissonIns(ctx);
+ for (unsigned int i=0; i<num_poisson_ins; i++)
+ {
+ if (offspring_genome.GetSize() >= max_genome_size) break;
+ if (totalMutations >= maxmut) break;
+ const unsigned int mut_line = ctx.GetRandom().GetUInt(offspring_genome.GetSize() + 1);
+ offspring_genome.Insert(mut_line, m_inst_set->GetRandomInst(ctx));
+ offspring_genome.GetMutationSteps().AddInsertionMutation(mut_line, offspring_genome[mut_line].GetSymbol());
+ totalMutations++;
+ }
+
+
// Divide Deletions
- if (m_organism->TestDivideDel(ctx) && offspring_genome.GetSize() > MIN_CREATURE_SIZE && totalMutations < maxmut) {
+ if (m_organism->TestDivideDel(ctx) && offspring_genome.GetSize() > min_genome_size && totalMutations < maxmut) {
const unsigned int mut_line = ctx.GetRandom().GetUInt(offspring_genome.GetSize());
offspring_genome.GetMutationSteps().AddDeletionMutation(mut_line, offspring_genome[mut_line].GetSymbol());
offspring_genome.Remove(mut_line);
totalMutations++;
}
+
+ // Poisson Divide Deletions
+ unsigned int num_poisson_del = m_organism->NumDividePoissonDel(ctx);
+ for (unsigned int i=0; i<num_poisson_del; i++)
+ {
+ if (offspring_genome.GetSize() <= min_genome_size) break;
+ if (totalMutations >= maxmut) break;
+ const unsigned int mut_line = ctx.GetRandom().GetUInt(offspring_genome.GetSize());
+ offspring_genome.GetMutationSteps().AddDeletionMutation(mut_line, offspring_genome[mut_line].GetSymbol());
+ offspring_genome.Remove(mut_line);
+ totalMutations++;
+ }
+
+
// Divide Uniform Mutations
if (m_organism->TestDivideUniform(ctx) && totalMutations < maxmut) {
if (doUniformMutation(ctx, offspring_genome)) totalMutations++;
}
-
-
-
// Divide Mutations (per site)
if (m_organism->GetDivMutProb() > 0 && totalMutations < maxmut) {
int num_mut = ctx.GetRandom().GetRandBinomial(offspring_genome.GetSize(),
@@ -257,14 +317,13 @@
}
}
-
// Insert Mutations (per site)
if (m_organism->GetDivInsProb() > 0 && totalMutations < maxmut) {
int num_mut = ctx.GetRandom().GetRandBinomial(offspring_genome.GetSize(), m_organism->GetDivInsProb());
- // If would make creature too big, insert up to MAX_CREATURE_SIZE
- if (num_mut + offspring_genome.GetSize() > MAX_CREATURE_SIZE) {
- num_mut = MAX_CREATURE_SIZE - offspring_genome.GetSize();
+ // If would make creature too big, insert up to max_genome_size
+ if (num_mut + offspring_genome.GetSize() > max_genome_size) {
+ num_mut = max_genome_size - offspring_genome.GetSize();
}
// If we have lines to insert...
@@ -289,9 +348,9 @@
if (m_organism->GetDivDelProb() > 0 && totalMutations < maxmut) {
int num_mut = ctx.GetRandom().GetRandBinomial(offspring_genome.GetSize(), m_organism->GetDivDelProb());
- // If would make creature too small, delete down to MIN_CREATURE_SIZE
- if (offspring_genome.GetSize() - num_mut < MIN_CREATURE_SIZE) {
- num_mut = offspring_genome.GetSize() - MIN_CREATURE_SIZE;
+ // If would make creature too small, delete down to min_genome_size
+ if (offspring_genome.GetSize() - num_mut < min_genome_size) {
+ num_mut = offspring_genome.GetSize() - min_genome_size;
}
// If we have lines to delete...
@@ -320,18 +379,6 @@
}
}
-
- // Slip Mutations (per site) - NOT COUNTED
- if (m_organism->GetDivSlipProb() > 0) {
- int num_mut = ctx.GetRandom().GetRandBinomial(offspring_genome.GetSize(),
- m_organism->GetDivSlipProb() / mut_multiplier);
- for (int i = 0; i < num_mut; i++) doSlipMutation(ctx, offspring_genome);
- }
-
-
-
-
-
// Mutations in the parent's genome
if (m_organism->GetParentMutProb() > 0 && totalMutations < maxmut) {
for (int i = 0; i < GetMemory().GetSize(); i++) {
@@ -349,17 +396,22 @@
bool cHardwareBase::doUniformMutation(cAvidaContext& ctx, cGenome& genome)
{
+
int mut = ctx.GetRandom().GetUInt((m_inst_set->GetSize() * 2) + 1);
if (mut < m_inst_set->GetSize()) { // point
int site = ctx.GetRandom().GetUInt(genome.GetSize());
genome[site] = cInstruction(mut);
} else if (mut == m_inst_set->GetSize()) { // delete
- if (genome.GetSize() == MIN_CREATURE_SIZE) return false;
+ int min_genome_size = m_world->GetConfig().MIN_GENOME_SIZE.Get();
+ if (!min_genome_size || min_genome_size < MIN_CREATURE_SIZE) min_genome_size = MIN_CREATURE_SIZE;
+ if (genome.GetSize() == min_genome_size) return false;
int site = ctx.GetRandom().GetUInt(genome.GetSize());
genome.Remove(site);
} else { // insert
- if (genome.GetSize() == MAX_CREATURE_SIZE) return false;
+ int max_genome_size = m_world->GetConfig().MAX_GENOME_SIZE.Get();
+ if (!max_genome_size || max_genome_size > MAX_CREATURE_SIZE) max_genome_size = MAX_CREATURE_SIZE;
+ if (genome.GetSize() == max_genome_size) return false;
int site = ctx.GetRandom().GetUInt(genome.GetSize() + 1);
genome.Insert(site, cInstruction(mut - m_inst_set->GetSize() - 1));
}
@@ -962,17 +1014,15 @@
bool cHardwareBase::SingleProcess_PayCosts(cAvidaContext& ctx, const cInstruction& cur_inst)
{
#if INSTRUCTION_COSTS
-
if (m_world->GetConfig().ENERGY_ENABLED.Get() > 0) {
// TODO: Get rid of magic number. check avaliable energy first
double energy_req = m_inst_energy_cost[cur_inst.GetOp()] * (m_organism->GetPhenotype().GetMerit().GetDouble() / 100.0); //compensate by factor of 100
int cellID = m_organism->GetCellID();
-
+
if((cellID != -1) && (energy_req > 0.0)) { // guard against running in the test cpu.
-
if (m_organism->GetPhenotype().GetStoredEnergy() >= energy_req) {
- m_inst_energy_cost[cur_inst.GetOp()] = 0;
- // subtract energy used from current org energy.
+ m_inst_energy_cost[cur_inst.GetOp()] = 0.0;
+ // subtract energy used from current org energy.
m_organism->GetPhenotype().ReduceEnergy(energy_req);
// tracking sleeping organisms
@@ -988,7 +1038,7 @@
}
} else {
m_organism->GetPhenotype().SetToDie();
- return false;
+ return false; // no more, your died... (evil laugh)
}
}
}
Modified: branches/interrupt/source/cpu/cHardwareBase.h
===================================================================
--- branches/interrupt/source/cpu/cHardwareBase.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/cpu/cHardwareBase.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -67,7 +67,7 @@
// -------- Instruction Costs ---------
int m_inst_cost;
tArray<int> m_inst_ft_cost;
- tArray<int> m_inst_energy_cost;
+ tArray<double> m_inst_energy_cost;
bool m_has_any_costs;
bool m_has_costs;
bool m_has_ft_costs;
Modified: branches/interrupt/source/cpu/cHardwareCPU.cc
===================================================================
--- branches/interrupt/source/cpu/cHardwareCPU.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/cpu/cHardwareCPU.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -833,6 +833,7 @@
// Group formation instructions
tInstLibEntry<tMethod>("join-group", &cHardwareCPU::Inst_JoinGroup, nInstFlag::STALL),
+ tInstLibEntry<tMethod>("orgs-in-my-group", &cHardwareCPU::Inst_NumberOrgsInMyGroup, nInstFlag::STALL),
tInstLibEntry<tMethod>("orgs-in-group", &cHardwareCPU::Inst_NumberOrgsInGroup, nInstFlag::STALL),
// Must always be the last instruction in the array
@@ -9701,7 +9702,7 @@
//! Gets the number of organisms in the current organism's group
//! and places the value in the ?CX? register
-bool cHardwareCPU::Inst_NumberOrgsInGroup(cAvidaContext& ctx)
+bool cHardwareCPU::Inst_NumberOrgsInMyGroup(cAvidaContext& ctx)
{
int num_orgs = 0;
assert(m_organism != 0);
@@ -9715,3 +9716,19 @@
GetRegister(num_org_reg) = num_orgs;
return true;
}
+
+
+//! Gets the number of organisms in the group of a given id
+//! specified by the ?BX? register and places the value in the ?CX? register
+bool cHardwareCPU::Inst_NumberOrgsInGroup(cAvidaContext& ctx)
+{
+ int num_orgs = 0;
+ assert(m_organism != 0);
+ const int group_id = FindModifiedRegister(REG_BX);
+ const int num_org_reg = FindModifiedRegister(REG_CX);
+
+ num_orgs = m_world->GetPopulation().NumberOfOrganismsInGroup(group_id);
+
+ GetRegister(num_org_reg) = num_orgs;
+ return true;
+}
Modified: branches/interrupt/source/cpu/cHardwareCPU.h
===================================================================
--- branches/interrupt/source/cpu/cHardwareCPU.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/cpu/cHardwareCPU.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -954,8 +954,9 @@
//! An organism joins a group by setting it opinion to the group id.
bool Inst_JoinGroup(cAvidaContext& ctx);
//! Returns the number of organisms in the current organism's group
- bool Inst_NumberOrgsInGroup(cAvidaContext& ctx);
-
+ bool Inst_NumberOrgsInMyGroup(cAvidaContext& ctx);
+ //! Returns the number of organisms in the current organism's group
+ bool Inst_NumberOrgsInGroup(cAvidaContext& ctx);
};
Modified: branches/interrupt/source/defs.h
===================================================================
--- branches/interrupt/source/defs.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/defs.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -46,6 +46,12 @@
#ifndef FATAL_WARNINGS
#define FATAL_WARNINGS 0
#endif
+/* By default, Boost is not available. To enable Boost, either modify your environment,
+ alter your build settings, or change this value -- BUT BE CAREFUL NOT TO CHECK IT IN LIKE THAT!
+ */
+#ifndef BOOST_IS_AVAILABLE
+#define BOOST_IS_AVAILABLE 0
+#endif
// #define SPECIES_TEST
Modified: branches/interrupt/source/main/cAvidaConfig.h
===================================================================
--- branches/interrupt/source/main/cAvidaConfig.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cAvidaConfig.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -334,8 +334,6 @@
CONFIG_ADD_VAR(DEMES_PROTECTION_POINTS, int, 0, "The number of points a deme receives for each suicide.");
CONFIG_ADD_VAR(POINT_DECAY_PERCENT, int, 0, "The percentage of points decayed each time cActionDecayPoints is called.");
-
-
CONFIG_ADD_GROUP(REPRODUCTION_GROUP, "Birth and Death");
CONFIG_ADD_VAR(BIRTH_METHOD, int, 0, "Which organism should be replaced on birth?\n0 = Random organism in neighborhood\n1 = Oldest in neighborhood\n2 = Largest Age/Merit in neighborhood\n3 = None (use only empty cells in neighborhood)\n4 = Random from population (Mass Action)\n5 = Oldest in entire population\n6 = Random within deme\n7 = Organism faced by parent\n8 = Next grid cell (id+1)\n9 = Largest energy used in entire population\n10 = Largest energy used in neighborhood");
CONFIG_ADD_VAR(PREFER_EMPTY, int, 1, "Give empty cells preference in offsping placement?");
@@ -395,12 +393,18 @@
CONFIG_ADD_VAR(DIV_UNIFORM_PROB, double, 0.0, "Uniform mutation probability (per site, applied on divide)\n- Randomly applies any of the three classes of mutations (ins, del, point).");
CONFIG_ADD_VAR(DIV_SLIP_PROB, double, 0.0, "Slip rate (per site, applied on divide)");
- CONFIG_ADD_VAR(DIVIDE_MUT_PROB, double, 0.0, "Mutation rate (per divide)");
- CONFIG_ADD_VAR(DIVIDE_INS_PROB, double, 0.05, "Insertion rate (per divide)");
- CONFIG_ADD_VAR(DIVIDE_DEL_PROB, double, 0.05, "Deletion rate (per divide)");
- CONFIG_ADD_VAR(DIVIDE_UNIFORM_PROB, double, 0.0, "Uniform mutation probability (per divide)\n- Randomly applies any of the three classes of mutations (ins, del, point).");
+ CONFIG_ADD_VAR(DIVIDE_MUT_PROB, double, 0.0, "Mutation rate (max one, per divide)");
+ CONFIG_ADD_VAR(DIVIDE_INS_PROB, double, 0.05, "Insertion rate (max one, per divide)");
+ CONFIG_ADD_VAR(DIVIDE_DEL_PROB, double, 0.05, "Deletion rate (max one, per divide)");
CONFIG_ADD_VAR(DIVIDE_SLIP_PROB, double, 0.0, "Slip rate (per divide) - creates large deletions/duplications");
+ CONFIG_ADD_VAR(DIVIDE_POISSON_MUT_MEAN, double, 0.0, "Mutation rate (Poisson distributed, per divide)");
+ CONFIG_ADD_VAR(DIVIDE_POISSON_INS_MEAN, double, 0.0, "Insertion rate (Poisson distributed, per divide)");
+ CONFIG_ADD_VAR(DIVIDE_POISSON_DEL_MEAN, double, 0.0, "Deletion rate (Poisson distributed, per divide)");
+ CONFIG_ADD_VAR(DIVIDE_POISSON_SLIP_MEAN, double, 0.0, "Slip rate (Poisson distributed, per divide)");
+
+ CONFIG_ADD_VAR(DIVIDE_UNIFORM_PROB, double, 0.0, "Uniform mutation probability (per divide)\n- Randomly applies any of the three classes of mutations (ins, del, point).");
+
CONFIG_ADD_VAR(INJECT_INS_PROB, double, 0.0, "Insertion rate (per site, applied on inject)");
CONFIG_ADD_VAR(INJECT_DEL_PROB, double, 0.0, "Deletion rate (per site, applied on inject)");
CONFIG_ADD_VAR(INJECT_MUT_PROB, double, 0.0, "Mutation rate (per site, applied on inject)");
@@ -639,7 +643,15 @@
CONFIG_ADD_VAR(SPECIALISTS, int, 0, "0=generalists allowed\n1=only specialists");
CONFIG_ADD_VAR(STRING_AMOUNT_CAP, int, -1, "-1=no cap on string amounts\n#=CAP");
CONFIG_ADD_VAR(MATCH_ALREADY_PRODUCED, int, 0, "0=off\n1=on");
-
+
+ CONFIG_ADD_GROUP(GROUP_FORMATION_GROUP, "Group Formation Settings");
+ CONFIG_ADD_VAR(USE_FORM_GROUPS, bool, 0, "Enable organisms to form groups. 0/1 (off/on)");
+
+ // -------- Deme network config options --------
+ CONFIG_ADD_VAR(DEME_NETWORK_TYPE, int, 0, "0=topology, structure of network determines fitness.");
+ CONFIG_ADD_VAR(DEME_NETWORK_REQUIRES_CONNECTEDNESS, int, 1, "Whether the deme's network must be connected before an actual fitness is calculated.");
+ CONFIG_ADD_VAR(DEME_NETWORK_TOPOLOGY_FITNESS, int, 0, "Network measure used to determine fitness; see cDemeTopologyNetwork.h.");
+
#endif
inline void Load(const cString& filename) { Load(filename, false); }
Modified: branches/interrupt/source/main/cBirthChamber.cc
===================================================================
--- branches/interrupt/source/main/cBirthChamber.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cBirthChamber.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -175,6 +175,12 @@
// set child energy & merit
child_array[0]->GetPhenotype().SetEnergy(child_energy);
merit_array[0] = child_array[0]->GetPhenotype().ConvertEnergyToMerit(child_array[0]->GetPhenotype().GetStoredEnergy());
+ if(merit_array[0].GetDouble() <= 0.0) { // do not allow zero merit
+ delete child_array[0]; // MAKE SURE THIS GETS DONE! Otherwise, memory leak.
+ child_array.Resize(0);
+ merit_array.Resize(0);
+ return false;
+ }
} else {
merit_array[0] = parent.GetPhenotype().GetMerit();
}
Modified: branches/interrupt/source/main/cDeme.cc
===================================================================
--- branches/interrupt/source/main/cDeme.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cDeme.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -36,6 +36,22 @@
#include "cOrgMovementPredicate.h"
#include "cDemePredicate.h"
+/*! Constructor
+ */
+cDeme::cDeme() : _id(0), width(0), replicateDeme(false), treatable(false), cur_birth_count(0), last_birth_count(0), cur_org_count(0), last_org_count(0), injected_count(0), birth_count_perslot(0),
+_age(0), generation(0), total_org_energy(0.0),
+time_used(0), gestation_time(0), cur_normalized_time_used(0.0), last_normalized_time_used(0.0),
+MSG_sendFailed(0), MSG_dropped(0), MSG_SuccessfullySent(0), MSG_sent(0), energyInjectedIntoOrganisms(0.0), energyRemainingInDemeAtReplication(0.0), total_energy_testament(0.0),
+eventsTotal(0), eventsKilled(0), eventsKilledThisSlot(0), eventKillAttempts(0), eventKillAttemptsThisSlot(0),
+consecutiveSuccessfulEventPeriods(0), sleeping_count(0), nextAvailBoundary(0),
+avg_founder_generation(0.0), generations_per_lifetime(0.0),
+deme_resource_count(0), m_germline_genotype_id(0), points(0), migrations_out(0), migrations_in(0), suicides(0), m_network(0) {
+}
+
+cDeme::~cDeme() {
+ if(m_network) delete m_network;
+}
+
void cDeme::Setup(int id, const tArray<int> & in_cells, int in_width, cWorld* world)
{
_id = id;
@@ -236,6 +252,17 @@
++_age;
}
+
+/*! Called when an organism living in a cell in this deme is about to be killed.
+
+ This method is called from cPopulation::KillOrganism().
+ */
+void cDeme::OrganismDeath(cPopulationCell& cell) {
+ // Clean up this deme's network, if we have one.
+ if(IsNetworkInitialized()) { m_network->OrganismDeath(cell); }
+}
+
+
void cDeme::Reset(bool resetResources, double deme_energy)
{
double additional_resource = 0.0;
@@ -281,15 +308,15 @@
//reset remaining deme predicates
for (int i = 0; i < deme_pred_list.Size(); i++) {
- (*deme_pred_list[i]).Reset();
+ deme_pred_list[i]->Reset();
}
//reset remaining message predicates
for (int i = 0; i < message_pred_list.Size(); i++) {
- (*message_pred_list[i]).Reset();
+ message_pred_list[i]->Reset();
}
//reset remaining message predicates
for (int i = 0; i < movement_pred_list.Size(); i++) {
- (*movement_pred_list[i]).Reset();
+ movement_pred_list[i]->Reset();
}
static const int geometry = m_world->GetConfig().WORLD_GEOMETRY.Get();
@@ -305,6 +332,11 @@
if (resetResources) {
deme_resource_count.ReinitializeResources(additional_resource);
}
+ // Instead of polluting cDemeNetwork with Resets, we're just going to delete it,
+ // and go ahead and rely on lazy initialization to fill this back in.
+ if(m_network) {
+ delete m_network;
+ }
}
@@ -854,6 +886,38 @@
} //End AddPheromone()
+double cDeme::GetSpatialResource(int rel_cellid, int resource_id) const
+{
+ assert(rel_cellid >= 0);
+ assert(rel_cellid < GetSize());
+ assert(resource_id >= 0);
+ assert(resource_id < deme_resource_count.GetSize());
+
+ tArray<double> cell_resources = deme_resource_count.GetCellResources(rel_cellid);
+ return cell_resources[resource_id];
+}
+
+void cDeme::AdjustSpatialResource(int rel_cellid, int resource_id, double amount)
+{
+ assert(rel_cellid >= 0);
+ assert(rel_cellid < GetSize());
+ assert(resource_id >= 0);
+ assert(resource_id < deme_resource_count.GetSize());
+
+ tArray<double> res_change;
+ res_change.Resize(deme_resource_count.GetSize(), 0);
+ res_change[resource_id] = amount;
+
+ deme_resource_count.ModifyCell(res_change, rel_cellid);
+
+}
+
+void cDeme::AdjustResource(int resource_id, double amount)
+{
+ double new_amount = deme_resource_count.Get(resource_id) + amount;
+ deme_resource_count.Set(resource_id, new_amount);
+}
+
int cDeme::GetSlotFlowRate() const {
vector<pair<int, int> >::const_iterator iter = event_slot_end_points.begin();
while(iter != event_slot_end_points.end()) {
@@ -882,3 +946,11 @@
return false;
} //End cDeme::IsTreatableAtAge()
+
+
+/*! Retrieve the network object, initializing it as needed.
+ */
+cDemeNetwork& cDeme::GetNetwork() {
+ InitNetworkCreation();
+ return *m_network;
+}
Modified: branches/interrupt/source/main/cDeme.h
===================================================================
--- branches/interrupt/source/main/cDeme.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cDeme.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -31,6 +31,7 @@
#include "cGermline.h"
#include "cPhenotype.h"
#include "cMerit.h"
+#include "cDemeNetwork.h"
#include "tArray.h"
#include "tVector.h"
#include "cResourceCount.h"
@@ -142,18 +143,12 @@
unsigned int migrations_in;
unsigned int suicides;
-
public:
- cDeme() : _id(0), width(0), replicateDeme(false), treatable(false), cur_birth_count(0), last_birth_count(0), cur_org_count(0), last_org_count(0), injected_count(0), birth_count_perslot(0),
- _age(0), generation(0), total_org_energy(0.0),
- time_used(0), gestation_time(0), cur_normalized_time_used(0.0), last_normalized_time_used(0.0),
- MSG_sendFailed(0), MSG_dropped(0), MSG_SuccessfullySent(0), MSG_sent(0),
- energyInjectedIntoOrganisms(0.0), energyRemainingInDemeAtReplication(0.0), total_energy_testament(0.0),
- eventsTotal(0), eventsKilled(0), eventsKilledThisSlot(0), eventKillAttempts(0), eventKillAttemptsThisSlot(0),
- consecutiveSuccessfulEventPeriods(0), sleeping_count(0), nextAvailBoundary(0),
- avg_founder_generation(0.0), generations_per_lifetime(0.0),
- deme_resource_count(0), m_germline_genotype_id(0), points(0), migrations_out(0), migrations_in(0), suicides(0){ ; }
- ~cDeme() { ; }
+ //! Constructor.
+ cDeme();
+
+ //! Destructor.
+ ~cDeme();
void Setup(int id, const tArray<int>& in_cells, int in_width = -1, cWorld* world = NULL);
@@ -209,6 +204,7 @@
void AddTreatmentAge(const int age) { treatment_ages.insert(age); }
bool IsTreatableAtAge(const int age);
bool IsTreatableNow() { return IsTreatableAtAge(_age); }
+ std::set<int> GetTreatmentAges() const { return treatment_ages; }
int GetSlotFlowRate() const;
int GetEventsTotal() const { return eventsTotal; }
@@ -256,11 +252,15 @@
// -= Update support =-
//! Called once, at the end of every update.
void ProcessUpdate();
- /*! Returns the age of this deme, updates. Age is defined as the number of
- updates since the last time Reset() was called. */
+ //! Returns the age of this deme in updates, where age is defined as the number of updates since the last time Reset() was called.
int GetAge() const { return _age; }
+ //! Called when an organism living in a cell in this deme is about to be killed.
+ void OrganismDeath(cPopulationCell& cell);
const cResourceCount& GetDemeResourceCount() const { return deme_resource_count; }
+ double GetSpatialResource(int rel_cellid, int resource_id) const;
+ void AdjustSpatialResource(int rel_cellid, int resource_id, double amount);
+ void AdjustResource(int resource_id, double amount);
void SetDemeResourceCount(const cResourceCount in_res) { deme_resource_count = in_res; }
void ResizeSpatialGrids(const int in_x, const int in_y) { deme_resource_count.ResizeSpatialGrids(in_x, in_y); }
void ModifyDemeResCount(const tArray<double> & res_change, const int absolute_cell_id);
@@ -370,6 +370,18 @@
int getThenIncNextAvailBoundary() { return nextAvailBoundary++; }
int getNextAvailBoundary() const { return nextAvailBoundary; }
+ // -= Network creation support =-
+private:
+ //! Lazily-initialized pointer to the network creation support struct.
+ cDemeNetwork* m_network;
+
+ //! Initialize network creation support.
+ inline void InitNetworkCreation() { if(!m_network) m_network = cDemeNetwork::DemeNetworkFactory(m_world, *this); }
+ //! Test for initialization of the network.
+ inline bool IsNetworkInitialized() { return m_network != 0; }
+public:
+ //! Retrieve this deme's network.
+ cDemeNetwork& GetNetwork();
};
#endif
Copied: branches/interrupt/source/main/cDemeNetwork.cc (from rev 3300, development/source/main/cDemeNetwork.cc)
===================================================================
--- branches/interrupt/source/main/cDemeNetwork.cc (rev 0)
+++ branches/interrupt/source/main/cDemeNetwork.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,60 @@
+/*
+ * cDemeNetwork.cpp
+ * Avida
+ *
+ * Copyright 1999-2009 Michigan State University. All rights reserved.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "defs.h" // Must be first.
+#include "cDeme.h"
+#include "cDemeNetwork.h"
+#include "cWorld.h"
+#include "cWorldDriver.h"
+// Conditional includes (these use the BGL).
+#if BOOST_IS_AVAILABLE
+#include "cDemeTopologyNetwork.h"
+#endif
+
+/*! Creates a cDemeNetwork object.
+
+ WARNING: This method throws an exception if BOOST_IS_AVAILABLE is not 1, as this
+ indicates at *least* a configuration error.
+
+ WARNING: The returned pointer is owned by the caller (you're responsible for deleting it)!
+ */
+cDemeNetwork* cDemeNetwork::DemeNetworkFactory(cWorld* world, cDeme& deme) {
+#if BOOST_IS_AVAILABLE
+ switch(world->GetConfig().DEME_NETWORK_TYPE.Get()) {
+ case cDemeNetwork::TOPOLOGY: {
+ return new cDemeTopologyNetwork(world, deme);
+ }
+ default: {
+ world->GetDriver().RaiseFatalException(-1, "Unrecognized network type in cDemeNetwork::DemeNetworkFactory().");
+ }
+ }
+#else
+ world->GetDriver().RaiseFatalException(-1, "cDemeNetwork requires Boost; if Boost *is* available, #define BOOST_IS_AVAILABLE in defs.h, and (possibly) update your include path.");
+#endif
+ return 0; // never reached, to quell warnings only.
+}
+
+/*! Constructor.
+ */
+cDemeNetwork::cDemeNetwork(cWorld* world, cDeme& deme) : m_world(world), m_deme(deme) {
+}
Copied: branches/interrupt/source/main/cDemeNetwork.h (from rev 3300, development/source/main/cDemeNetwork.h)
===================================================================
--- branches/interrupt/source/main/cDemeNetwork.h (rev 0)
+++ branches/interrupt/source/main/cDemeNetwork.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,84 @@
+/*
+ * cDemeNetwork.h
+ * Avida
+ *
+ * Copyright 1999-2009 Michigan State University. All rights reserved.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef cDemeNetwork_h
+#define cDemeNetwork_h
+
+class cDeme;
+class cWorld;
+class cPopulationCell;
+
+/*! Provides the organisms in a deme with a shared network object.
+
+ The idea here is that the organisms in a deme cooperate to construct a network that
+ meets certain criteria. As of this writing, there's only a single "type" of network
+ that can be manipulated in this way, but others are in the works.
+
+ This can be loosely described as "cooperative construction," but the term "network
+ creation" also applies. See~\cite{knoester2008cooperative} for more details.
+
+ Oh - Because this abstraction relies heavily upon the Boost Graph Library (BGL), we play
+ some tricks so that we don't require that all Avida developers have Boost. If
+ you want to use cDemeNetwork, either change the #define for #define BOOST_IS_AVAILABLE over in
+ defs.h, alter your environment, or change your build settings. And you actually need
+ Boost installed, of course (you'll probably also need to update your include path).
+
+ Because of the different types of networks that are available, there's a factory
+ method, cDemeNetwork::DemeNetworkFactory() that creates cDemeNetworks.
+ */
+class cDemeNetwork {
+public:
+ /*! Available network types.
+
+ TOPOLOGY: Original network-creation approach; each cell is a node, organisms connect to
+ neighboring cells. The network's performance is based on its structure (evaluated as a graph).
+ */
+ enum NetworkType { TOPOLOGY };
+
+ //! Factory method, the only way to create a deme network (pointer is owned by the caller).
+ static cDemeNetwork* DemeNetworkFactory(cWorld* world, cDeme& deme);
+
+ //! Destructor.
+ virtual ~cDemeNetwork() { }
+
+ //! Called at the end of every update.
+ virtual void ProcessUpdate() = 0;
+
+ //! Connect u->v with weight w.
+ virtual void Connect(cPopulationCell& u, cPopulationCell& v, double w=0.0) = 0;
+
+ //! Called when the organism living in cell u dies.
+ virtual void OrganismDeath(cPopulationCell& u) = 0;
+
+ //! Returns a network-defined fitness.
+ virtual double Fitness() const = 0;
+
+protected:
+ //! Constructor, called by derived classes only.
+ cDemeNetwork(cWorld* world, cDeme& deme);
+
+ cWorld* m_world; //!< The world.
+ cDeme& m_deme; //!< The owning deme.
+};
+
+#endif
Copied: branches/interrupt/source/main/cDemeNetworkUtils.h (from rev 3300, development/source/main/cDemeNetworkUtils.h)
===================================================================
--- branches/interrupt/source/main/cDemeNetworkUtils.h (rev 0)
+++ branches/interrupt/source/main/cDemeNetworkUtils.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,172 @@
+/*
+ * cDemeNetworkUtils.h
+ * Avida
+ *
+ * Copyright 1999-2009 Michigan State University. All rights reserved.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef cDemeNetworkUtils_h
+#define cDemeNetworkUtils_h
+
+#include <boost/graph/breadth_first_search.hpp>
+#include <boost/graph/connected_components.hpp>
+#include <boost/graph/visitors.hpp>
+#include <numeric>
+#include <vector>
+
+
+//! A BGL breadth-first visitor to calculate distances between vertices.
+template <class Distance>
+class NetworkDistanceVisitor : public boost::bfs_visitor< > {
+public:
+ NetworkDistanceVisitor(Distance d) : distance(d) { }
+ template <class Graph>
+ void tree_edge(typename boost::graph_traits<Graph>::edge_descriptor e, Graph& g) {
+ typename boost::graph_traits<Graph>::vertex_descriptor u, v;
+ u = boost::source(e, g);
+ v = boost::target(e, g);
+ distance[v] = distance[u] + 1;
+ }
+
+private:
+ Distance distance;
+};
+
+//! An ease-of-use typedef to support distance calculations.
+typedef std::vector<size_t> NetworkDistanceVector;
+
+//! An ease-of-use typedef to support distance matrices.
+typedef std::vector<NetworkDistanceVector> NetworkDistanceMatrix;
+
+
+/*! Is the passed-in network connected?
+ */
+template <typename Network>
+bool network_is_connected(const Network& network) {
+ std::vector<int> components(boost::num_vertices(network));
+ return boost::connected_components(network, &components[0]) == 1;
+}
+
+
+/*! Are the two passed-in vertices connected?
+ */
+template <typename Network>
+bool network_2cells_connected(typename Network::vertex_descriptor u, typename Network::vertex_descriptor v, Network& network) {
+ NetworkDistanceVector dv(boost::num_vertices(network),0);
+ NetworkDistanceVisitor<size_t*> visitor(&dv[0]);
+ boost::breadth_first_search(network, u, boost::visitor(visitor));
+
+ // If the distance from u to v is 0, there is no path.
+ return dv[v] != 0;
+}
+
+
+/*! Calculate the distances between each pair of nodes; 0 == not connected.
+ */
+template <typename Network>
+NetworkDistanceMatrix all_pairs_distances(const Network& network) {
+ NetworkDistanceMatrix distance_matrix(boost::num_vertices(network),
+ NetworkDistanceVector(boost::num_vertices(network), 0));
+
+ for(size_t i=0; i<boost::num_vertices(network); ++i) {
+ NetworkDistanceVisitor<size_t*> visitor(&distance_matrix[i][0]);
+ typename Network::vertex_descriptor src = boost::vertices(network).first[i];
+ boost::breadth_first_search(network, src, boost::visitor(visitor));
+ }
+
+ return distance_matrix;
+}
+
+
+/*! Calculate the characteristic path length of the passed-in network. CPL is the
+ mean distance between all pairs of vertices.
+ */
+template <typename Network>
+double characteristic_path_length(const Network& network) {
+ NetworkDistanceMatrix distance_matrix = all_pairs_distances(network);
+
+ // Mean path length from v to v'.
+ double cpl_sum=0.0;
+ for(size_t i=0; i<boost::num_vertices(network); ++i) {
+ cpl_sum += std::accumulate(distance_matrix[i].begin(), distance_matrix[i].end(), 0.0) / (boost::num_vertices(network)-1);
+ }
+
+ return cpl_sum / boost::num_vertices(network);
+}
+
+
+/*! Calculate the diameter of the passed-in network.
+ */
+template <typename Network>
+size_t diameter(const Network& network) {
+ NetworkDistanceMatrix distance_matrix = all_pairs_distances(network);
+
+ // Mean path length from v to v'.
+ NetworkDistanceVector max_distances;
+ for(size_t i=0; i<boost::num_vertices(network); ++i) {
+ max_distances.push_back(*std::max_element(distance_matrix[i].begin(), distance_matrix[i].end()));
+ }
+
+ return *std::max_element(max_distances.begin(), max_distances.end());
+}
+
+
+/*! Calculate the clustering coefficient of the passed-in network. Clustering coefficient
+ is roughly a measure of "how many of my friends are themselves friends?"
+ */
+template <typename Network>
+double clustering_coefficient(const Network& network) {
+ // For each vertex in the graph, calculate the number of edges between vertices in the neighborhood.
+ typename Network::vertex_iterator vi, vi_end;
+ std::vector<double> cluster_coeffs;
+ for(tie(vi,vi_end)=vertices(network); vi!=vi_end; ++vi) {
+ // Get the list of vertices which are in the neighborhood of vi.
+ typedef typename Network::adjacency_iterator adjacency_iterator;
+ std::pair<adjacency_iterator, adjacency_iterator> adjacent = boost::adjacent_vertices(*vi, network);
+ typedef std::set<typename Network::vertex_descriptor> neighborhood;
+ neighborhood neighbors;
+ for(; adjacent.first!=adjacent.second; ++adjacent.first) {
+ neighbors.insert(*adjacent.first);
+ }
+
+ if(neighbors.size() > 1) {
+ // Now, count the edges between vertices in the neighborhood.
+ unsigned int neighborhood_edge_count=0;
+ for(typename neighborhood::iterator i=neighbors.begin(); i!=neighbors.end(); ++i) {
+ typedef typename Network::out_edge_iterator out_edge_iterator;
+ std::pair<out_edge_iterator,out_edge_iterator> oe = out_edges(*i,network);
+ for(; oe.first!=oe.second; ++oe.first) {
+ if(neighbors.find(target(*oe.first,network))!=neighbors.end()) {
+ ++neighborhood_edge_count;
+ }
+ }
+ }
+ neighborhood_edge_count /= 2;
+ cluster_coeffs.push_back((double)neighborhood_edge_count / (neighbors.size()*(neighbors.size()-1)/2));
+ } else {
+ // This used to be 1.0... but, if our neighborhood size is <1, there are zero edges out of a possible 0.
+ cluster_coeffs.push_back(0.0);
+ }
+ }
+
+ // Clustering coefficient:
+ return std::accumulate(cluster_coeffs.begin(), cluster_coeffs.end(), 0.0) / cluster_coeffs.size();
+}
+
+#endif
Copied: branches/interrupt/source/main/cDemeTopologyNetwork.cc (from rev 3300, development/source/main/cDemeTopologyNetwork.cc)
===================================================================
--- branches/interrupt/source/main/cDemeTopologyNetwork.cc (rev 0)
+++ branches/interrupt/source/main/cDemeTopologyNetwork.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,141 @@
+/*
+ * cDemeTopologyNetwork.cc
+ * Avida
+ *
+ * Copyright 1999-2009 Michigan State University. All rights reserved.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "defs.h" // Must be first.
+#if BOOST_IS_AVAILABLE
+#include "cDemeTopologyNetwork.h"
+#include "cDemeNetworkUtils.h"
+#include "cDeme.h"
+#include "cStats.h"
+#include "cWorld.h"
+#include "cWorldDriver.h"
+
+/*! Constructor.
+ */
+cDemeTopologyNetwork::cDemeTopologyNetwork(cWorld* world, cDeme& deme) : cDemeNetwork(world, deme) {
+}
+
+/*! Connect u->v with weight w.
+ */
+void cDemeTopologyNetwork::Connect(cPopulationCell& u, cPopulationCell& v, double w) {
+}
+
+/*! Returns the fitness of the network, as determined by the DEME_NETWORK_TOPOLOGY_FITNESS config option.
+ */
+double cDemeTopologyNetwork::Fitness() const {
+ // Yay, stats tracking.
+ m_world->GetStats().NetworkTopology(m_network);
+
+ // Are we requiring connectedness before fitness is calculated?
+ if(m_world->GetConfig().DEME_NETWORK_REQUIRES_CONNECTEDNESS.Get()) {
+ // Short-circuit if we don't have all the vertices (cheap!):
+ if((boost::num_vertices(m_network) < (size_t)m_deme.GetSize())
+ // and then check for connectedness:
+ || !network_is_connected(m_network)) {
+ return 0.0;
+ }
+ }
+
+ // We're going to arbitrarily define the maximum number of edges that can exist
+ // in this network to be the number of edges that would be in a fully-connected
+ // network of m_deme.GetSize() number of vertices (Euler's formula).
+ double max_edges = m_deme.GetSize() * (m_deme.GetSize()-1) / 2;
+
+ // Ok, calculate fitness.
+ switch(m_world->GetConfig().DEME_NETWORK_TOPOLOGY_FITNESS.Get()) {
+ case MIN_SIZE: {
+ return pow(max_edges - boost::num_edges(m_network) + 1, 2);
+ }
+ case MIN_DIAMETER: {
+ // Note: we don't need a +1 here (max diameter is less than num_vertices).
+ return pow((double)boost::num_vertices(m_network) - diameter(m_network), 2);
+ }
+ case MIN_CPL: {
+ return pow(0.75*boost::num_vertices(m_network) - characteristic_path_length(m_network) + 1, 2);
+ }
+ case MAX_CC: {
+ return pow(100.0*clustering_coefficient(m_network) + 1, 2);
+ }
+ case MIN_CC: {
+ return pow(100.0 - 100.0*clustering_coefficient(m_network) + 1, 2);
+ }
+ case TGT_CC: {
+ double coeff = clustering_coefficient(m_network);
+ double target_coeff = 0.5;
+
+ // Want to reward for absolute "closeness" to target.
+ // matlab: x=0:0.001:1; target=0.5; plot(x, (power(1/100,abs(target-x))*100).^2)
+ return pow(pow(0.01, abs(target_coeff - coeff))*100, 2);
+ }
+ case CPL_AND_EDGES_1: {
+ // Replicate demes that are connected, and set the merit based on a combination of
+ // characteristic path length and edge count (1):
+ // \[Merit=\Big((CPL_{max}-CPL_{mean}+1) * (L_{max}-L(G)+1)\Big)^2\]
+ return pow((0.75*boost::num_vertices(m_network) - characteristic_path_length(m_network) + 1)
+ * (max_edges - boost::num_edges(m_network) + 1), 2);
+ }
+ case CPL_AND_EDGES_2: {
+ // Replicate demes that are connected, and set the merit based on a combination of
+ // characteristic path length and edge count (2):
+ // \[Merit=(CPL_{max}-CPL_{mean}+1)^2 + (L_{max}-L(G)+1)^2\]
+ return pow(0.75*boost::num_vertices(m_network) - characteristic_path_length(m_network) + 1, 2)
+ + pow(max_edges - boost::num_edges(m_network) + 1.0, 2);
+ }
+ case CPL_AND_EDGES_3: {
+ // Replicate demes that are connected, and set the merit based on a combination of
+ // characteristic path length and edge count, where each is normalized (3):
+ // \[Merit=\Big(100*\frac{CPL_{max}-CPL_{mean}}{CPL_{max}} + 100*\frac{L_{max}-L(G)}{L_{max}}+1\Big)^2\]
+ return pow(100*(0.75*boost::num_vertices(m_network)
+ - characteristic_path_length(m_network)) / (0.75*boost::num_vertices(m_network))
+ + 100*((max_edges - boost::num_edges(m_network)) / max_edges)
+ + 1
+ , 2);
+ }
+ case CPL_AND_EDGES_LADDER_1: {
+ // Replicate demes that are connected, and set the merit to a ladder fitness function
+ // based on CPL and edge count (min edges -> CPL) (~5% error):
+ double source_germline_merit = pow(max_edges - boost::num_edges(m_network) + 1.0, 2);
+ // ~5% error margin...
+ if(boost::num_edges(m_network) <= (boost::num_vertices(m_network) + 2)) {
+ source_germline_merit += pow(0.75*boost::num_vertices(m_network) - characteristic_path_length(m_network) + 1, 2);
+ }
+ return source_germline_merit;
+ }
+ case CPL_AND_EDGES_LADDER_2: {
+ // Replicate demes that are connected, and set the merit to a ladder fitness function
+ // based on CPL and edge count (min CPL -> edges) (error margin):
+ double cpl = characteristic_path_length(m_network);
+ double source_germline_merit = pow(0.75*boost::num_vertices(m_network) - cpl + 1, 2);
+ if((cpl > 3.25) && (cpl < 3.75)) {
+ source_germline_merit += pow(max_edges - boost::num_edges(m_network) + 1.0, 2);
+ }
+ return source_germline_merit;
+ }
+ default: {
+ m_world->GetDriver().RaiseFatalException(-1, "Unrecognized network fitness type in cDemeTopologyNetwork::Fitness().");
+ }
+ }
+ return 0.0;
+}
+
+#endif
Copied: branches/interrupt/source/main/cDemeTopologyNetwork.h (from rev 3300, development/source/main/cDemeTopologyNetwork.h)
===================================================================
--- branches/interrupt/source/main/cDemeTopologyNetwork.h (rev 0)
+++ branches/interrupt/source/main/cDemeTopologyNetwork.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,94 @@
+/*
+ * cDemeTopologyNetwork.h
+ * Avida
+ *
+ * Copyright 1999-2009 Michigan State University. All rights reserved.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef cDemeTopologyNetwork_h
+#define cDemeTopologyNetwork_h
+
+/* THIS HEADER REQUIRES BOOST */
+#include <boost/graph/adjacency_list.hpp>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "cDemeNetwork.h"
+
+class cDeme;
+class cWorld;
+class cPopulationCell;
+
+/*!
+ */
+class cDemeTopologyNetwork : public cDemeNetwork {
+public:
+ enum FitnessType {
+ MIN_SIZE,
+ MIN_DIAMETER,
+ MIN_CPL,
+ MAX_CC,
+ MIN_CC,
+ TGT_CC,
+ CPL_AND_EDGES_1,
+ CPL_AND_EDGES_2,
+ CPL_AND_EDGES_3,
+ CPL_AND_EDGES_LADDER_1,
+ CPL_AND_EDGES_LADDER_2
+ };
+
+ //! The internal vertex properties.
+ struct vertex_properties {
+ vertex_properties() { }
+ vertex_properties(std::pair<int,int> pos, int cell_id) : _x(pos.first), _y(pos.second), _cell_id(cell_id) { }
+ int _x, _y, _cell_id;
+ };
+
+ //! An ease-of-use typedef to support the distributed construction of a network.
+ typedef boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, vertex_properties> Network;
+
+ //! A map of cell IDs to vertex descriptors.
+ typedef std::map<int, Network::vertex_descriptor> CellVertexMap;
+
+ //! Map of cell IDs to counts.
+ typedef std::map<int, unsigned int> CellCountMap;
+
+ //! Constructor.
+ cDemeTopologyNetwork(cWorld* world, cDeme& deme);
+
+ //! Called at the end of every update.
+ virtual void ProcessUpdate() { }
+
+ //! Connect u->v with weight w.
+ virtual void Connect(cPopulationCell& u, cPopulationCell& v, double w=0.0);
+
+ //! Called when the organism living in cell u dies.
+ virtual void OrganismDeath(cPopulationCell& u) { }
+
+ //! Returns a network-defined fitness.
+ virtual double Fitness() const;
+
+protected:
+ Network m_network; //!< Underlying network model.
+ CellVertexMap m_cv; //!< Map of cell ids to vertex descriptors.
+};
+
+#endif
Modified: branches/interrupt/source/main/cMutationRates.cc
===================================================================
--- branches/interrupt/source/main/cMutationRates.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cMutationRates.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -46,6 +46,12 @@
divide.divide_mut_prob = world->GetConfig().DIVIDE_MUT_PROB.Get();
divide.divide_ins_prob = world->GetConfig().DIVIDE_INS_PROB.Get();
divide.divide_del_prob = world->GetConfig().DIVIDE_DEL_PROB.Get();
+
+ divide.divide_poisson_mut_mean = world->GetConfig().DIVIDE_POISSON_MUT_MEAN.Get();
+ divide.divide_poisson_ins_mean = world->GetConfig().DIVIDE_POISSON_INS_MEAN.Get();
+ divide.divide_poisson_del_mean = world->GetConfig().DIVIDE_POISSON_DEL_MEAN.Get();
+ divide.divide_poisson_slip_mean = world->GetConfig().DIVIDE_POISSON_SLIP_MEAN.Get();
+
divide.divide_uniform_prob = world->GetConfig().DIVIDE_UNIFORM_PROB.Get();
divide.divide_slip_prob = world->GetConfig().DIVIDE_SLIP_PROB.Get();
@@ -76,6 +82,12 @@
divide.divide_mut_prob = 0.0;
divide.divide_ins_prob = 0.0;
divide.divide_del_prob = 0.0;
+
+ divide.divide_poisson_mut_mean = 0.0;
+ divide.divide_poisson_ins_mean = 0.0;
+ divide.divide_poisson_del_mean = 0.0;
+ divide.divide_poisson_slip_mean = 0.0;
+
divide.divide_uniform_prob = 0.0;
divide.divide_slip_prob = 0.0;
@@ -106,6 +118,12 @@
divide.divide_mut_prob = in_muts.divide.divide_mut_prob;
divide.divide_ins_prob = in_muts.divide.divide_ins_prob;
divide.divide_del_prob = in_muts.divide.divide_del_prob;
+
+ divide.divide_poisson_mut_mean = in_muts.divide.divide_poisson_mut_mean;
+ divide.divide_poisson_ins_mean = in_muts.divide.divide_poisson_ins_mean;
+ divide.divide_poisson_del_mean = in_muts.divide.divide_poisson_del_mean;
+ divide.divide_poisson_slip_mean = in_muts.divide.divide_poisson_slip_mean;
+
divide.divide_uniform_prob = in_muts.divide.divide_uniform_prob;
divide.divide_slip_prob = in_muts.divide.divide_slip_prob;
Modified: branches/interrupt/source/main/cMutationRates.h
===================================================================
--- branches/interrupt/source/main/cMutationRates.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cMutationRates.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -60,6 +60,10 @@
double divide_mut_prob; // Max one per divide
double divide_ins_prob; // Max one per divide
double divide_del_prob; // Max one per divide
+ double divide_poisson_mut_mean; // Allows multiple with constant genomic rate
+ double divide_poisson_ins_mean; // Allows multiple with constant genomic rate
+ double divide_poisson_del_mean; // Allows multiple with constant genomic rate
+ double divide_poisson_slip_mean; // Allows multiple with constant genomic rate
double divide_slip_prob; // Max one per divide
double divide_uniform_prob;
double parent_mut_prob;
@@ -105,6 +109,16 @@
bool TestDivideMut(cAvidaContext& ctx) const { return ctx.GetRandom().P(divide.divide_mut_prob); }
bool TestDivideIns(cAvidaContext& ctx) const { return ctx.GetRandom().P(divide.divide_ins_prob); }
bool TestDivideDel(cAvidaContext& ctx) const { return ctx.GetRandom().P(divide.divide_del_prob); }
+
+ unsigned int NumDividePoissonMut(cAvidaContext& ctx) const
+ { return (divide.divide_poisson_mut_mean == 0.0) ? 0 : ctx.GetRandom().GetRandPoisson(divide.divide_poisson_mut_mean); }
+ unsigned int NumDividePoissonIns(cAvidaContext& ctx) const
+ { return (divide.divide_poisson_ins_mean == 0.0) ? 0 : ctx.GetRandom().GetRandPoisson(divide.divide_poisson_ins_mean); }
+ unsigned int NumDividePoissonDel(cAvidaContext& ctx) const
+ { return (divide.divide_poisson_del_mean == 0.0) ? 0 : ctx.GetRandom().GetRandPoisson(divide.divide_poisson_del_mean); }
+ unsigned int NumDividePoissonSlip(cAvidaContext& ctx) const
+ { return (divide.divide_poisson_slip_mean == 0.0) ? 0 : ctx.GetRandom().GetRandPoisson(divide.divide_poisson_slip_mean); }
+
bool TestDivideSlip(cAvidaContext& ctx) const { return ctx.GetRandom().P(divide.divide_slip_prob); }
bool TestDivideUniform(cAvidaContext& ctx) const
{
Modified: branches/interrupt/source/main/cOrganism.h
===================================================================
--- branches/interrupt/source/main/cOrganism.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cOrganism.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -337,6 +337,12 @@
bool TestDivideMut(cAvidaContext& ctx) const { return m_mut_rates.TestDivideMut(ctx); }
bool TestDivideIns(cAvidaContext& ctx) const { return m_mut_rates.TestDivideIns(ctx); }
bool TestDivideDel(cAvidaContext& ctx) const { return m_mut_rates.TestDivideDel(ctx); }
+
+ unsigned int NumDividePoissonMut(cAvidaContext& ctx) const { return m_mut_rates.NumDividePoissonMut(ctx); }
+ unsigned int NumDividePoissonIns(cAvidaContext& ctx) const { return m_mut_rates.NumDividePoissonIns(ctx); }
+ unsigned int NumDividePoissonDel(cAvidaContext& ctx) const { return m_mut_rates.NumDividePoissonDel(ctx); }
+ unsigned int NumDividePoissonSlip(cAvidaContext& ctx) const { return m_mut_rates.NumDividePoissonSlip(ctx); }
+
bool TestDivideUniform(cAvidaContext& ctx) const { return m_mut_rates.TestDivideUniform(ctx); }
bool TestDivideSlip(cAvidaContext& ctx) const { return m_mut_rates.TestDivideSlip(ctx); }
Modified: branches/interrupt/source/main/cPopulation.cc
===================================================================
--- branches/interrupt/source/main/cPopulation.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cPopulation.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -353,6 +353,26 @@
// Loop through choosing the later placement of each child in the population.
bool parent_alive = true; // Will the parent live through this process?
for (int i = 0; i < child_array.GetSize(); i++) {
+/*
+ THIS code will remove zero merit orgnaisms, thus never putting them into the scheduler.
+ WARNING: uncommenting this code will break consistancy, but will generalize the solution.
+ Currently, only asexual organisms that use the energy model are removed when they have zero merit.
+ If this code gets added then remove the "if(merit_array[0].GetDouble() <= 0.0)" block from cBirthChamber::DoAsexBirth,
+ does not break consistancy for test energy_deme_level_res
+
+ if(merit_array[i].GetDouble() <= 0.0) {
+ // no weaklings!
+ if(child_array.GetSize() > 1) {
+ child_array.Swap(i, child_array.GetSize()-1);
+ child_array = child_array.Subset(0, child_array.GetSize()-2);
+ } else {
+ child_array.ResizeClear(0);
+ break;
+ }
+ --i;
+ continue;
+ }
+ */
target_cells[i] = PositionChild(parent_cell, m_world->GetConfig().ALLOW_PARENT.Get()).GetID();
// If we replaced the parent, make a note of this.
@@ -410,43 +430,49 @@
// If we're not about to kill the parent, do some extra work on it.
if (parent_alive == true) {
- // Reset inputs and re-calculate merit if required
- if (m_world->GetConfig().RESET_INPUTS_ON_DIVIDE.Get() > 0){
- environment.SetupInputs(ctx, parent_cell.m_inputs);
-
- int pc_phenotype = m_world->GetConfig().PRECALC_PHENOTYPE.Get();
- if (pc_phenotype) {
- cCPUTestInfo test_info;
- cTestCPU* test_cpu = m_world->GetHardwareManager().CreateTestCPU();
- test_info.UseManualInputs(parent_cell.GetInputs()); // Test using what the environment will be
- test_cpu->TestGenome(ctx, test_info, parent_organism->GetHardware().GetMemory()); // Use the true genome
- if (pc_phenotype & 1) { // If we must update the merit
- parent_phenotype.SetMerit(test_info.GetTestPhenotype().GetMerit());
- }
- if (pc_phenotype & 2) { // If we must update the gestation time
- parent_phenotype.SetGestationTime(test_info.GetTestPhenotype().GetGestationTime());
- }
- if (pc_phenotype & 4) { // If we must update the last instruction counts
- parent_phenotype.SetTestCPUInstCount(test_info.GetTestPhenotype().GetLastInstCount());
+ if(parent_phenotype.GetMerit().GetDouble() <= 0.0) {
+ // no weakling parents either!
+ parent_organism->GetPhenotype().SetToDie();
+ parent_alive = false;
+ } else {
+ // Reset inputs and re-calculate merit if required
+ if (m_world->GetConfig().RESET_INPUTS_ON_DIVIDE.Get() > 0){
+ environment.SetupInputs(ctx, parent_cell.m_inputs);
+
+ int pc_phenotype = m_world->GetConfig().PRECALC_PHENOTYPE.Get();
+ if (pc_phenotype) {
+ cCPUTestInfo test_info;
+ cTestCPU* test_cpu = m_world->GetHardwareManager().CreateTestCPU();
+ test_info.UseManualInputs(parent_cell.GetInputs()); // Test using what the environment will be
+ test_cpu->TestGenome(ctx, test_info, parent_organism->GetHardware().GetMemory()); // Use the true genome
+ if (pc_phenotype & 1) { // If we must update the merit
+ parent_phenotype.SetMerit(test_info.GetTestPhenotype().GetMerit());
+ }
+ if (pc_phenotype & 2) { // If we must update the gestation time
+ parent_phenotype.SetGestationTime(test_info.GetTestPhenotype().GetGestationTime());
+ }
+ if (pc_phenotype & 4) { // If we must update the last instruction counts
+ parent_phenotype.SetTestCPUInstCount(test_info.GetTestPhenotype().GetLastInstCount());
+ }
+ parent_phenotype.SetFitness(parent_phenotype.GetMerit().CalcFitness(parent_phenotype.GetGestationTime())); // Update fitness
+ delete test_cpu;
}
- parent_phenotype.SetFitness(parent_phenotype.GetMerit().CalcFitness(parent_phenotype.GetGestationTime())); // Update fitness
- delete test_cpu;
- }
- }
- AdjustSchedule(parent_cell, parent_phenotype.GetMerit());
-
- // In a local run, face the child toward the parent.
- const int birth_method = m_world->GetConfig().BIRTH_METHOD.Get();
- if (birth_method < NUM_LOCAL_POSITION_CHILD ||
- birth_method == POSITION_CHILD_PARENT_FACING) {
- for (int i = 0; i < child_array.GetSize(); i++) {
- GetCell(target_cells[i]).Rotate(parent_cell);
- }
- }
-
- // Purge the mutations since last division
- parent_organism->OffspringGenome().GetGenome().GetMutationSteps().Clear();
- }
+ }
+ AdjustSchedule(parent_cell, parent_phenotype.GetMerit());
+
+ // In a local run, face the child toward the parent.
+ const int birth_method = m_world->GetConfig().BIRTH_METHOD.Get();
+ if (birth_method < NUM_LOCAL_POSITION_CHILD ||
+ birth_method == POSITION_CHILD_PARENT_FACING) {
+ for (int i = 0; i < child_array.GetSize(); i++) {
+ GetCell(target_cells[i]).Rotate(parent_cell);
+ }
+ }
+
+ // Purge the mutations since last division
+ parent_organism->OffspringGenome().GetGenome().GetMutationSteps().Clear();
+ }
+ }
// Do any statistics on the parent that just gave birth...
parent_genotype->AddGestationTime( parent_phenotype.GetGestationTime() );
@@ -833,6 +859,12 @@
organism->GetOrgInterface().UpdateResources(organism->GetRBins());
}
+ // make sure the group composition is updated.
+ if(m_world->GetConfig().USE_FORM_GROUPS.Get() && organism->HasOpinion())
+ {
+ int opinion = organism->GetOpinion().first;
+ LeaveGroup(opinion);
+ }
// Do the lineage handling
if (m_world->GetConfig().LOG_LINEAGES.Get()) { m_world->GetClassificationManager().RemoveLineageOrganism(organism); }
@@ -840,8 +872,10 @@
// Update count statistics...
num_organisms--;
- if (deme_array.GetSize() > 0) {
+ // Handle deme updates.
+ if(deme_array.GetSize() > 0) {
deme_array[in_cell.GetDemeID()].DecOrgCount();
+ deme_array[in_cell.GetDemeID()].OrganismDeath(in_cell);
}
genotype->RemoveOrganism();
@@ -3884,11 +3918,11 @@
{
assert(step_size > 0.0);
assert(cell_id < cell_array.GetSize());
-
+
// If cell_id is negative, no cell could be found -- stop here.
if (cell_id < 0) return;
- cPopulationCell& cell = GetCell(cell_id);
+ cPopulationCell& cell = GetCell(cell_id);
assert(cell.IsOccupied()); // Unoccupied cell getting processor time!
cOrganism* cur_org = cell.GetOrganism();
Modified: branches/interrupt/source/main/cResourceCount.cc
===================================================================
--- branches/interrupt/source/main/cResourceCount.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cResourceCount.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -523,3 +523,19 @@
} //End going through the resources
}
+
+int cResourceCount::GetResourceByName(cString name) const
+{
+ int result = -1;
+
+ for(int i = 0; i < resource_name.GetSize(); i++)
+ {
+ if(resource_name[i] == name)
+ {
+ result = i;
+ }
+ }
+
+ return result;
+
+}
Modified: branches/interrupt/source/main/cResourceCount.h
===================================================================
--- branches/interrupt/source/main/cResourceCount.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cResourceCount.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -41,6 +41,9 @@
#ifndef defs_h
#include "defs.h"
#endif
+#ifndef nGeometry_h
+#include "nGeometry.h"
+#endif
class cResourceCount
{
@@ -98,6 +101,7 @@
const tArray<double>& GetResources() const;
const tArray<double>& GetCellResources(int cell_id) const;
const tArray<int>& GetResourcesGeometry() const;
+ int GetResourceGeometry(int res_id) const { return geometry[res_id]; }
const tArray<tArray<double> >& GetSpatialRes();
const tArray<tArray<int> >& GetCellIdLists() const { return cell_lists; }
void Modify(const tArray<double>& res_change);
@@ -111,6 +115,8 @@
void ReinitializeResources(double additional_resource);
double GetInitialResourceValue(int resourceID) const { return resource_initial[resourceID]; }
const cString& GetResName(int id) const { return resource_name[id]; }
+ bool IsSpatial(int id) const { return ((geometry[id] != nGeometry::GLOBAL) && (geometry[id] != nGeometry::PARTIAL)); }
+ int GetResourceByName(cString name) const;
};
Modified: branches/interrupt/source/main/cStats.cc
===================================================================
--- branches/interrupt/source/main/cStats.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cStats.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -2595,7 +2595,7 @@
df.Write(shaded_20, "shaded-20 [shaded20]");
df.Write(shaded_10, "shaded-10 [shaded10]");
df.Write(shaded_0, "shaded-0 [shaded0]");
- df.Write(high_alt, "percent-high-alt [highalt]");
+ df.Write(high_alt, "percent-high-alt [highalt]");
df.Write(avg_shade, "avg-shade [avgshade]");
df.Endl();
@@ -2614,27 +2614,43 @@
map <int,int>::iterator itr;
double avg_size = 0.0;
+ double avg_size_wout_empty = 0.0;
double max_size = 0.0;
double min_size = 100000000000.0;
double active_groups = 0.0;
for(itr = groups.begin();itr!=groups.end();itr++) {
- avg_size += itr->second;
- if (itr->second > max_size) max_size = itr->second;
- if (itr->second < min_size) min_size = itr->second;
- if (itr->second > 0) active_groups++;
+ double cur_size = itr->second;
+ avg_size += cur_size;
+ if (cur_size > max_size) max_size = cur_size;
+ if (cur_size < min_size) min_size = cur_size;
+ if (cur_size > 0) {
+ active_groups++;
+ avg_size_wout_empty += cur_size;
+ }
}
avg_size = avg_size / groups.size();
+ avg_size_wout_empty = avg_size_wout_empty / active_groups;
+ df.WriteTimeStamp();
+ df.Write(m_update, "Update [update]");
df.Write((double)groups.size(), "number of groups [num]");
- df.Write(avg_size, "average size of groups [avg-size]");
- df.Write(max_size, "max size of groups [max-size]");
- df.Write(min_size, "min size of groups [min-size]");
- df.Write(active_groups, "active groups [act-group]");
+ df.Write(avg_size, "average size of groups [avgsize]");
+ df.Write(avg_size_wout_empty, "average size of non-emptygroups [avgsizene]");
+ df.Write(max_size, "max size of groups [maxsize]");
+ df.Write(min_size, "min size of groups [minsize]");
+ df.Write(active_groups, "active groups [actgroup]");
df.Endl();
-
}
+/*! Print and reset network statistics.
+ */
+void cStats::PrintDemeNetworkData(const cString& filename) {
+ cDataFile& df = m_world->GetDataFile(filename);
+
+ df.WriteComment("Deme network statistics");
+ df.WriteTimeStamp();
+}
Modified: branches/interrupt/source/main/cStats.h
===================================================================
--- branches/interrupt/source/main/cStats.h 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/main/cStats.h 2009-06-25 21:17:10 UTC (rev 3340)
@@ -955,7 +955,18 @@
cDoubleSum m_perfect_match_org;
std::map <int, int> m_tags;
-
+// -------- Deme network support --------
+private:
+public:
+ template <typename Network>
+ void NetworkTopology(const Network& network) {
+#if BOOST_IS_AVAILABLE
+#else
+// world->GetDriver().RaiseFatalException(-1, "Cannot track network statistics without Boost in cStats::NetworkTopology().");
+#endif
+ }
+ //! Print network statistics.
+ void PrintDemeNetworkData(const cString& filename);
};
Modified: branches/interrupt/source/tools/cProbSchedule.cc
===================================================================
--- branches/interrupt/source/tools/cProbSchedule.cc 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/source/tools/cProbSchedule.cc 2009-06-25 21:17:10 UTC (rev 3340)
@@ -29,7 +29,7 @@
#include "cDeme.h"
#include "cMerit.h"
-// The larger merits cause problems here; things need to be re-thought out.
+// The larger merits cause problems here; avoid very large or very small merits
int cProbSchedule::GetNextID()
{
Copied: branches/interrupt/tests/energy_deme_level_res/expected (from rev 3300, development/tests/energy_deme_level_res/expected)
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data (from rev 3300, development/tests/energy_deme_level_res/expected/data)
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/average.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/average.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/average.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,30 +0,0 @@
-# Avida Average Data
-# Thu Jun 4 11:34:53 2009
-# 1: Update
-# 2: Merit
-# 3: Gestation Time
-# 4: Fitness
-# 5: Repro Rate?
-# 6: Size
-# 7: Copied Size
-# 8: Executed Size
-# 9: Abundance
-# 10: Proportion of organisms that gave birth in this update
-# 11: Proportion of Breed True Organisms
-# 12: Genotype Depth
-# 13: Generation
-# 14: Neutral Metric
-# 15: Lineage Label
-# 16: True Replication Rate (based on births/update, time-averaged)
-
-0 10.000000 146.000000 0.000000 0.000000 42.000000 42.000000 39.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000
-10 3.09738 146 0.267123 0 42 42 39 4 0.25 0.25 0 2 -1.1619 0 0
-20 1.61755 143.067 0.253012 0 42.2 40.6 36.4667 3 0.266667 0.2 0.333333 3.93333 -1.73114 0 0
-30 1.32964 144.387 0.260206 0 42.0645 41.2903 37.7097 2.58333 0.258065 0.193548 0.419355 5.51613 -1.19629 0 0
-40 1.2278 146.105 0.262249 0 42.0526 41.6491 38.3509 3.35294 0.298246 0.192982 0.385965 7.22807 -1.72025 0 0
-50 1.1816 145.208 0.262503 0 42.0938 41.5729 38.2188 2.52632 0.125 0.03125 0.635417 9.05208 -2.17 0 0
-60 1.15216 145.97 0.261533 0 42.07 41.43 38.25 2.22222 0.24 0.18 0.82 11.16 -2.37848 0 0
-70 3.34475 147 0.265306 0 42.1429 42 39 3.5 0.285714 0.285714 0.142857 1.85714 1.7118 -1 0
-80 1.66198 147.667 0.265239 0 42.0833 42.125 39.1667 2.4 0.25 0.0833333 0.5 3.66667 2.27846 -1 0
-90 1.24357 147.889 0.264891 0 42.8095 42.1905 39.1746 2.42308 0.206349 0.142857 0.857143 5.33333 1.89711 -1 0
-100 1.10318 151.167 0.256437 0 42.9917 41.8667 38.5667 2.10526 0.1 0.0416667 1.28333 7.11667 1.77786 -1 0
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/average.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/average.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/average.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/average.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,30 @@
+# Avida Average Data
+# Thu Jun 4 11:34:53 2009
+# 1: Update
+# 2: Merit
+# 3: Gestation Time
+# 4: Fitness
+# 5: Repro Rate?
+# 6: Size
+# 7: Copied Size
+# 8: Executed Size
+# 9: Abundance
+# 10: Proportion of organisms that gave birth in this update
+# 11: Proportion of Breed True Organisms
+# 12: Genotype Depth
+# 13: Generation
+# 14: Neutral Metric
+# 15: Lineage Label
+# 16: True Replication Rate (based on births/update, time-averaged)
+
+0 10.000000 146.000000 0.000000 0.000000 42.000000 42.000000 39.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+10 3.09738 146 0.267123 0 42 42 39 4 0.25 0.25 0 2 -1.1619 0 0
+20 1.61755 143.067 0.253012 0 42.2 40.6 36.4667 3 0.266667 0.2 0.333333 3.93333 -1.73114 0 0
+30 1.32964 144.387 0.260206 0 42.0645 41.2903 37.7097 2.58333 0.258065 0.193548 0.419355 5.51613 -1.19629 0 0
+40 1.2278 146.105 0.262249 0 42.0526 41.6491 38.3509 3.35294 0.298246 0.192982 0.385965 7.22807 -1.72025 0 0
+50 1.1816 145.208 0.262503 0 42.0938 41.5729 38.2188 2.52632 0.125 0.03125 0.635417 9.05208 -2.17 0 0
+60 1.15216 145.97 0.261533 0 42.07 41.43 38.25 2.22222 0.24 0.18 0.82 11.16 -2.37848 0 0
+70 3.34475 147 0.265306 0 42.1429 42 39 3.5 0.285714 0.285714 0.142857 1.85714 1.7118 -1 0
+80 1.66198 147.667 0.265239 0 42.0833 42.125 39.1667 2.4 0.25 0.0833333 0.5 3.66667 2.27846 -1 0
+90 1.24357 147.889 0.264891 0 42.8095 42.1905 39.1746 2.42308 0.206349 0.142857 0.857143 5.33333 1.89711 -1 0
+100 1.10318 151.167 0.256437 0 42.9917 41.8667 38.5667 2.10526 0.1 0.0416667 1.28333 7.11667 1.77786 -1 0
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/count.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/count.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/count.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,30 +0,0 @@
-# Avida count data
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: number of insts executed this update
-# 3: number of organisms
-# 4: number of different genotypes
-# 5: number of different threshold genotypes
-# 6: number of different species
-# 7: number of different threshold species
-# 8: number of different lineages
-# 9: number of births in this update
-# 10: number of deaths in this update
-# 11: number of breed true
-# 12: number of breed true organisms?
-# 13: number of no-birth organisms
-# 14: number of single-threaded organisms
-# 15: number of multi-threaded organisms
-# 16: number of modified organisms
-
-0 30 1 1 1 0 0 0 1 0 1 1 1 1 0 0
-10 90 4 1 1 0 0 0 1 0 1 4 2 4 0 0
-20 330 15 5 1 0 0 0 4 0 3 11 8 15 0 0
-30 810 31 12 1 0 0 0 8 4 6 20 16 31 0 0
-40 1470 57 17 3 0 0 0 17 9 11 42 34 57 0 0
-50 2790 96 38 5 0 0 0 12 9 3 60 55 96 0 0
-60 3000 100 45 9 0 0 0 24 24 18 67 58 100 0 0
-70 150 7 2 1 0 0 0 2 0 2 6 4 7 0 0
-80 540 24 10 2 0 0 0 6 0 2 15 13 24 0 0
-90 1590 63 26 5 0 0 0 13 3 9 38 36 63 0 0
-100 3300 120 57 9 0 0 0 12 2 5 67 65 120 0 0
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/count.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/count.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/count.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/count.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,30 @@
+# Avida count data
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: number of insts executed this update
+# 3: number of organisms
+# 4: number of different genotypes
+# 5: number of different threshold genotypes
+# 6: number of different species
+# 7: number of different threshold species
+# 8: number of different lineages
+# 9: number of births in this update
+# 10: number of deaths in this update
+# 11: number of breed true
+# 12: number of breed true organisms?
+# 13: number of no-birth organisms
+# 14: number of single-threaded organisms
+# 15: number of multi-threaded organisms
+# 16: number of modified organisms
+
+0 30 1 1 1 0 0 0 1 0 1 1 1 1 0 0
+10 90 4 1 1 0 0 0 1 0 1 4 2 4 0 0
+20 330 15 5 1 0 0 0 4 0 3 11 8 15 0 0
+30 810 31 12 1 0 0 0 8 4 6 20 16 31 0 0
+40 1470 57 17 3 0 0 0 17 9 11 42 34 57 0 0
+50 2790 96 38 5 0 0 0 12 9 3 60 55 96 0 0
+60 3000 100 45 9 0 0 0 24 24 18 67 58 100 0 0
+70 150 7 2 1 0 0 0 2 0 2 6 4 7 0 0
+80 540 24 10 2 0 0 0 6 0 2 15 13 24 0 0
+90 1590 63 26 5 0 0 0 13 3 9 38 36 63 0 0
+100 3300 120 57 9 0 0 0 12 2 5 67 65 120 0 0
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,144 +0,0 @@
-deme_0000000_energy_0000000 = [ ...
-99490 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-
-deme_0000000_energy_0000010 = [ ...
-30815.8 30918 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 30815.8
-0 0 0 0 0 0 0 0 0 30815.8
-];
-
-deme_0000000_energy_0000020 = [ ...
-15770.3 15770.3 15804.5 0 0 0 0 15798.9 15770.3 0
-20344 0 0 15820.4 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-15833.8 0 0 0 0 0 0 0 15770.3 15822.7
-15770.3 15832.2 0 0 0 0 0 15770.3 15832.2 15770.3
-];
-
-deme_0000000_energy_0000030 = [ ...
-13397.3 12474.1 15309.3 0 0 0 0 15275.8 12515.5 12533
-19496.5 12474.1 12474.1 15341.1 0 0 0 12472.9 0 0
-0 12474.1 12474.1 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-12004.7 0 0 0 0 0 0 0 12474.1 0
-12043.3 13351 12519.2 0 0 0 0 0 12474.1 12526.8
-12525.5 12515.5 0 0 0 0 0 13345.6 12474.1 12521.8
-12534.3 13397.3 12474.1 0 0 0 0 13397.3 12521.8 13397.3
-];
-
-deme_0000000_energy_0000040 = [ ...
-11806.3 11869 14795 11752 11752 0 11752 14752.7 11869 11869
-18609.6 11793.3 11869 14744.2 11752 0 11861.8 11798.2 11869 11902.7
-11752 11869 11799.2 0 0 0 11798.2 0 11942.5 11752
-11798 11802.7 11814.8 11803.9 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 10996 0
-11902.7 0 0 0 0 0 0 11793.3 12108 10957.5
-11187.8 12947.3 11869 0 0 0 11789.8 11808.7 11752 11806.3
-11801.6 11808.7 11869 11869 0 11869 11902.7 11869 11802.7 11808.7
-11808.7 11869 11808.7 11805.7 0 0 12145.6 11752 11806.3 11869
-];
-
-deme_0000000_energy_0000050 = [ ...
-11534.2 10581.8 14125.2 11621.1 11534.2 11492.5 11593.7 14072.7 11653.2 11533
-17586.3 11156.4 11649.7 14090.3 11451.9 11534.2 11593.7 11525.7 11649.7 11534.2
-11633.4 11649.7 11163.1 11653.2 11534.2 11525.7 11525.7 11527.3 11605.6 11407
-11649.7 11593.7 11566.9 11646.5 11640.7 0 11527.3 11525.7 11605.6 11648.5
-11534.2 11593.7 11489.7 11641.9 11634.9 0 0 11605.6 10729.7 11565.8
-10702.5 11534.2 10726.5 0 11534.2 10645.3 10645.3 11593.7 10729.7 11566.9
-11566.9 10726.5 11566.9 11534.2 11566.9 11630.2 11633.7 11632.2 11566.9 10767
-10769.2 12476.9 11566.9 11566.9 11566.9 11566.9 11532.4 11566.9 11593.7 11534.2
-10936.4 11566.9 11532.2 11566.9 11534.2 11534.2 11534.2 11534.2 11593.7 11593.7
-11534.2 11566.9 11534.2 11532.2 11566.9 11534.2 11566.9 11565.8 11566.9 10937.5
-];
-
-deme_0000000_energy_0000060 = [ ...
-11466.2 10652.3 10651.3 11242 11599.7 11559.1 11493.4 13445 11460.8 10180.8
-11603.2 10812.8 11300.1 13507.7 11112.9 11460.8 11259.3 11493.4 11460.8 11059.6
-10765.2 10812.8 10802 11349 11464.9 11462.2 11452.1 11570.1 11493.4 11102.3
-11605.6 11482.4 10567.7 10569.8 11610.4 11604.6 11321.4 11553.8 11531.8 10802.3
-11481.2 11460.8 11609.2 11493.4 11556.9 11610.2 11559.1 11553.8 11608.4 11607.2
-10802.3 11603.4 10991 11493.4 11559.1 10079.3 11615.5 11559.1 11559.1 11600.9
-10623 10183 11559.1 11460.8 11493.4 11595.3 11605.7 11493.4 11557.9 10917.9
-10920.1 12006.6 10183 11486.4 10611.9 11460.8 11493.4 11493.4 11460.8 10623
-11602.3 11611.6 11458.7 11458.7 11559.1 11586.3 10802.3 11559.1 11559.1 11604.6
-11610.4 11493.4 11493.4 11611.4 11603.2 11559.1 10840.3 10802.3 11559.1 11460.8
-];
-
-deme_0000000_energy_0000070 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-30114.3 0 0 0 0 0 0 0 0 0
-30262.7 30114.3 0 0 0 0 0 0 0 30262.7
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_energy_0000080 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-14918.9 14996.9 0 0 0 0 0 0 0 14920.4
-14969.9 14993.9 14977.4 0 0 0 0 0 19512.1 0
-14993.9 14993.9 14975.9 0 0 0 0 0 14974.4 19577.6
-14993.9 0 0 0 0 0 0 0 0 14974.4
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_energy_0000090 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 12334.5
-12335.7 12333.3 0 0 0 0 0 0 11592.4 0
-12332 14530.5 12533.8 0 0 0 0 0 12491.8 11592.4
-12533.8 12533.8 11634.3 12063.8 0 0 0 11641.3 18779 11649.5
-11649.5 12653.4 10949.3 11643.6 0 0 0 0 11640.1 12533.8
-12071.5 12555.4 0 10940.5 0 0 0 0 11396 12569.4
-0 0 0 0 0 0 0 11396 0 12102.2
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_energy_0000100 = [ ...
-0 0 0 0 0 0 0 0 0 0
-11744.4 10807 0 0 0 0 0 0 11061 11316.7
-11706.8 10812.4 11764.8 0 0 0 0 10904.9 10863.4 11064.4
-11706.8 11758.9 11023.3 11022.2 0 0 0 10906 10863.4 11761.6
-11709.1 10990.9 11022.2 11025 11025 0 0 10863.4 12072.1 11022.2
-11022.2 10202.4 10990.9 10228.3 10199.3 0 0 10901.6 17787.6 10990.9
-10990.9 11477.5 10199.3 10990.9 10228.3 10229.3 0 10912.5 10978.5 11022.2
-10233.1 12129.3 10674.6 10199.3 11022.2 0 10911.4 11004.2 11059 10990.9
-10207.2 10233.1 10198.3 10674.6 0 0 0 11023.3 11022.2 10233.1
-10233.1 0 0 0 0 0 0 0 11022.2 10267.3
-];
-
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000000_spatial_energy.m 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,144 @@
+deme_0000000_energy_0000000 = [ ...
+99490 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+
+deme_0000000_energy_0000010 = [ ...
+30815.8 30918 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 30815.8
+0 0 0 0 0 0 0 0 0 30815.8
+];
+
+deme_0000000_energy_0000020 = [ ...
+15770.3 15770.3 15804.5 0 0 0 0 15798.9 15770.3 0
+20344 0 0 15820.4 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+15833.8 0 0 0 0 0 0 0 15770.3 15822.7
+15770.3 15832.2 0 0 0 0 0 15770.3 15832.2 15770.3
+];
+
+deme_0000000_energy_0000030 = [ ...
+13397.3 12474.1 15309.3 0 0 0 0 15275.8 12515.5 12533
+19496.5 12474.1 12474.1 15341.1 0 0 0 12472.9 0 0
+0 12474.1 12474.1 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+12004.7 0 0 0 0 0 0 0 12474.1 0
+12043.3 13351 12519.2 0 0 0 0 0 12474.1 12526.8
+12525.5 12515.5 0 0 0 0 0 13345.6 12474.1 12521.8
+12534.3 13397.3 12474.1 0 0 0 0 13397.3 12521.8 13397.3
+];
+
+deme_0000000_energy_0000040 = [ ...
+11806.3 11869 14795 11752 11752 0 11752 14752.7 11869 11869
+18609.6 11793.3 11869 14744.2 11752 0 11861.8 11798.2 11869 11902.7
+11752 11869 11799.2 0 0 0 11798.2 0 11942.5 11752
+11798 11802.7 11814.8 11803.9 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 10996 0
+11902.7 0 0 0 0 0 0 11793.3 12108 10957.5
+11187.8 12947.3 11869 0 0 0 11789.8 11808.7 11752 11806.3
+11801.6 11808.7 11869 11869 0 11869 11902.7 11869 11802.7 11808.7
+11808.7 11869 11808.7 11805.7 0 0 12145.6 11752 11806.3 11869
+];
+
+deme_0000000_energy_0000050 = [ ...
+11534.2 10581.8 14125.2 11621.1 11534.2 11492.5 11593.7 14072.7 11653.2 11533
+17586.3 11156.4 11649.7 14090.3 11451.9 11534.2 11593.7 11525.7 11649.7 11534.2
+11633.4 11649.7 11163.1 11653.2 11534.2 11525.7 11525.7 11527.3 11605.6 11407
+11649.7 11593.7 11566.9 11646.5 11640.7 0 11527.3 11525.7 11605.6 11648.5
+11534.2 11593.7 11489.7 11641.9 11634.9 0 0 11605.6 10729.7 11565.8
+10702.5 11534.2 10726.5 0 11534.2 10645.3 10645.3 11593.7 10729.7 11566.9
+11566.9 10726.5 11566.9 11534.2 11566.9 11630.2 11633.7 11632.2 11566.9 10767
+10769.2 12476.9 11566.9 11566.9 11566.9 11566.9 11532.4 11566.9 11593.7 11534.2
+10936.4 11566.9 11532.2 11566.9 11534.2 11534.2 11534.2 11534.2 11593.7 11593.7
+11534.2 11566.9 11534.2 11532.2 11566.9 11534.2 11566.9 11565.8 11566.9 10937.5
+];
+
+deme_0000000_energy_0000060 = [ ...
+11466.2 10652.3 10651.3 11242 11599.7 11559.1 11493.4 13445 11460.8 10180.8
+11603.2 10812.8 11300.1 13507.7 11112.9 11460.8 11259.3 11493.4 11460.8 11059.6
+10765.2 10812.8 10802 11349 11464.9 11462.2 11452.1 11570.1 11493.4 11102.3
+11605.6 11482.4 10567.7 10569.8 11610.4 11604.6 11321.4 11553.8 11531.8 10802.3
+11481.2 11460.8 11609.2 11493.4 11556.9 11610.2 11559.1 11553.8 11608.4 11607.2
+10802.3 11603.4 10991 11493.4 11559.1 10079.3 11615.5 11559.1 11559.1 11600.9
+10623 10183 11559.1 11460.8 11493.4 11595.3 11605.7 11493.4 11557.9 10917.9
+10920.1 12006.6 10183 11486.4 10611.9 11460.8 11493.4 11493.4 11460.8 10623
+11602.3 11611.6 11458.7 11458.7 11559.1 11586.3 10802.3 11559.1 11559.1 11604.6
+11610.4 11493.4 11493.4 11611.4 11603.2 11559.1 10840.3 10802.3 11559.1 11460.8
+];
+
+deme_0000000_energy_0000070 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+30114.3 0 0 0 0 0 0 0 0 0
+30262.7 30114.3 0 0 0 0 0 0 0 30262.7
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_energy_0000080 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+14918.9 14996.9 0 0 0 0 0 0 0 14920.4
+14969.9 14993.9 14977.4 0 0 0 0 0 19512.1 0
+14993.9 14993.9 14975.9 0 0 0 0 0 14974.4 19577.6
+14993.9 0 0 0 0 0 0 0 0 14974.4
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_energy_0000090 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 12334.5
+12335.7 12333.3 0 0 0 0 0 0 11592.4 0
+12332 14530.5 12533.8 0 0 0 0 0 12491.8 11592.4
+12533.8 12533.8 11634.3 12063.8 0 0 0 11641.3 18779 11649.5
+11649.5 12653.4 10949.3 11643.6 0 0 0 0 11640.1 12533.8
+12071.5 12555.4 0 10940.5 0 0 0 0 11396 12569.4
+0 0 0 0 0 0 0 11396 0 12102.2
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_energy_0000100 = [ ...
+0 0 0 0 0 0 0 0 0 0
+11744.4 10807 0 0 0 0 0 0 11061 11316.7
+11706.8 10812.4 11764.8 0 0 0 0 10904.9 10863.4 11064.4
+11706.8 11758.9 11023.3 11022.2 0 0 0 10906 10863.4 11761.6
+11709.1 10990.9 11022.2 11025 11025 0 0 10863.4 12072.1 11022.2
+11022.2 10202.4 10990.9 10228.3 10199.3 0 0 10901.6 17787.6 10990.9
+10990.9 11477.5 10199.3 10990.9 10228.3 10229.3 0 10912.5 10978.5 11022.2
+10233.1 12129.3 10674.6 10199.3 11022.2 0 10911.4 11004.2 11059 10990.9
+10207.2 10233.1 10198.3 10674.6 0 0 0 11023.3 11022.2 10233.1
+10233.1 0 0 0 0 0 0 0 11022.2 10267.3
+];
+
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,144 +0,0 @@
-deme_0000001_energy_0000000 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-
-deme_0000001_energy_0000010 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000020 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000030 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000040 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000050 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000060 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000070 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 51714.2 0 0 0 0 0 0 0 0
-30262.7 0 0 0 0 0 0 0 0 0
-0 30271.7 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000080 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-19621 0 19559.4 0 0 0 0 0 0 0
-0 19559.4 0 19559.4 0 0 0 0 0 0
-14993.9 14993.9 19577.6 0 0 0 0 0 0 19512.1
-0 14993.9 0 0 0 0 0 0 0 0
-14998.4 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000090 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-12521.9 0 12520.7 12561.4 0 0 0 0 0 12257.7
-12216.9 12521.9 12521.9 12521.9 12521.9 0 0 0 0 12216.9
-11641.3 12521.9 12521.9 12521.9 0 0 0 0 12257.7 11637.8
-11639 12071.5 11648.3 12065.8 12561.4 12561.4 0 0 11641.3 18755.1
-11634.3 12533.8 10947.4 11648.3 12051.1 0 0 0 0 11639
-11649.5 0 10952.9 0 0 0 0 0 0 11649.5
-0 12533.8 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_energy_0000100 = [ ...
-0 0 0 10292.9 0 0 0 0 0 0
-10981.7 10391.9 11017.4 11016.3 10327.3 0 0 0 10631.8 0
-11016.3 11053.1 10630.7 10361.8 11016.3 0 0 10863.4 10631.8 10667.2
-10631.8 10631.8 10361.8 11016.3 11016.3 11016.3 10686.2 10631.8 10863.4 10596.4
-10889.3 10631.8 10981.7 11016.3 11016.3 10981.7 0 10699.1 10664.8 10596.4
-10892.5 10207.2 10233.1 10213.7 10227.2 0 0 10990.9 10990.9 10909.2
-10901.6 10990.9 10207.2 10990.9 11627.4 10217.9 0 0 10990.9 10907.1
-10990.9 10885.2 10207.2 10197.9 10990.9 0 0 0 10989.8 11022.2
-0 10986.5 0 10206.2 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_0000001_spatial_energy.m 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,144 @@
+deme_0000001_energy_0000000 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+
+deme_0000001_energy_0000010 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000020 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000030 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000040 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000050 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000060 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000070 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 51714.2 0 0 0 0 0 0 0 0
+30262.7 0 0 0 0 0 0 0 0 0
+0 30271.7 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000080 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+19621 0 19559.4 0 0 0 0 0 0 0
+0 19559.4 0 19559.4 0 0 0 0 0 0
+14993.9 14993.9 19577.6 0 0 0 0 0 0 19512.1
+0 14993.9 0 0 0 0 0 0 0 0
+14998.4 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000090 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+12521.9 0 12520.7 12561.4 0 0 0 0 0 12257.7
+12216.9 12521.9 12521.9 12521.9 12521.9 0 0 0 0 12216.9
+11641.3 12521.9 12521.9 12521.9 0 0 0 0 12257.7 11637.8
+11639 12071.5 11648.3 12065.8 12561.4 12561.4 0 0 11641.3 18755.1
+11634.3 12533.8 10947.4 11648.3 12051.1 0 0 0 0 11639
+11649.5 0 10952.9 0 0 0 0 0 0 11649.5
+0 12533.8 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_energy_0000100 = [ ...
+0 0 0 10292.9 0 0 0 0 0 0
+10981.7 10391.9 11017.4 11016.3 10327.3 0 0 0 10631.8 0
+11016.3 11053.1 10630.7 10361.8 11016.3 0 0 10863.4 10631.8 10667.2
+10631.8 10631.8 10361.8 11016.3 11016.3 11016.3 10686.2 10631.8 10863.4 10596.4
+10889.3 10631.8 10981.7 11016.3 11016.3 10981.7 0 10699.1 10664.8 10596.4
+10892.5 10207.2 10233.1 10213.7 10227.2 0 0 10990.9 10990.9 10909.2
+10901.6 10990.9 10207.2 10990.9 11627.4 10217.9 0 0 10990.9 10907.1
+10990.9 10885.2 10207.2 10197.9 10990.9 0 0 0 10989.8 11022.2
+0 10986.5 0 10206.2 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_donor.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_donor.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_donor.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,17 +0,0 @@
-# Num orgs doing doing a donate for each deme in population
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0
-# 3: Deme 1
-
-0 0.000000 0.000000
-10 0 0
-20 0 0
-30 0 0
-40 0 0
-50 0 0
-60 0 0
-70 0 0
-80 0 0
-90 0 0
-100 0 0
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_donor.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_donor.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_donor.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_donor.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,17 @@
+# Num orgs doing doing a donate for each deme in population
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0
+# 3: Deme 1
+
+0 0.000000 0.000000
+10 0 0
+20 0 0
+30 0 0
+40 0 0
+50 0 0
+60 0 0
+70 0 0
+80 0 0
+90 0 0
+100 0 0
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_fitness.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_fitness.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_fitness.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,17 +0,0 @@
-# Average fitnesses for each deme in the population
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0
-# 3: Deme 1
-
-0 0.000000 0.000000
-10 0.267123 0
-20 0.253012 0
-30 0.260206 0
-40 0.262249 0
-50 0.262503 0
-60 0.261533 0
-70 0.265306 0.265306
-80 0.265306 0.265144
-90 0.264776 0.26499
-100 0.25159 0.26145
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_fitness.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_fitness.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_fitness.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_fitness.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,17 @@
+# Average fitnesses for each deme in the population
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0
+# 3: Deme 1
+
+0 0.000000 0.000000
+10 0.267123 0
+20 0.253012 0
+30 0.260206 0
+40 0.262249 0
+50 0.262503 0
+60 0.261533 0
+70 0.265306 0.265306
+80 0.265306 0.265144
+90 0.264776 0.26499
+100 0.25159 0.26145
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_gest_time.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_gest_time.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_gest_time.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,17 +0,0 @@
-# Average gestation time for each deme in population
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0
-# 3: Deme 1
-
-0 146.000000 0.000000
-10 146 0
-20 143.067 0
-30 144.387 0
-40 146.105 0
-50 145.208 0
-60 145.97 0
-70 147 147
-80 147 148.6
-90 147.034 148.618
-100 150.672 151.678
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_gest_time.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_gest_time.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_gest_time.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_gest_time.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,17 @@
+# Average gestation time for each deme in population
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0
+# 3: Deme 1
+
+0 146.000000 0.000000
+10 146 0
+20 143.067 0
+30 144.387 0
+40 146.105 0
+50 145.208 0
+60 145.97 0
+70 147 147
+80 147 148.6
+90 147.034 148.618
+100 150.672 151.678
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,48 +0,0 @@
-# Number of times each instruction is exectued in deme 0
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Inst 0
-# 3: Inst 1
-# 4: Inst 2
-# 5: Inst 3
-# 6: Inst 4
-# 7: Inst 5
-# 8: Inst 6
-# 9: Inst 7
-# 10: Inst 8
-# 11: Inst 9
-# 12: Inst 10
-# 13: Inst 11
-# 14: Inst 12
-# 15: Inst 13
-# 16: Inst 14
-# 17: Inst 15
-# 18: Inst 16
-# 19: Inst 17
-# 20: Inst 18
-# 21: Inst 19
-# 22: Inst 20
-# 23: Inst 21
-# 24: Inst 22
-# 25: Inst 23
-# 26: Inst 24
-# 27: Inst 25
-# 28: Inst 26
-# 29: Inst 27
-# 30: Inst 28
-# 31: Inst 29
-# 32: Inst 30
-# 33: Inst 31
-# 34: Inst 32
-
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 56 4 4 168 8 168 0 0 168 0 0 0 0 0 0 0 0
-20 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 210 15 15 588 30 588 0 0 588 0 0 0 0 0 0 0 0
-30 42 0 2 0 0 0 0 0 0 0 0 0 0 0 0 62 432 31 31 1258 62 1258 0 0 1258 0 0 0 0 0 0 0 0
-40 42 0 3 0 0 0 0 0 43 0 0 0 0 0 0 115 795 57 57 2353 114 2353 0 0 2356 0 0 0 0 0 0 0 0
-50 52 0 9 2 0 0 2 0 0 3 0 0 0 0 0 194 1332 96 96 3951 192 3951 0 0 3956 0 2 2 13 0 0 0 0
-60 66 0 32 3 0 0 1 0 0 3 2 2 0 0 0 201 1379 100 100 4120 200 4120 0 11 4106 1 1 3 13 0 0 1 0
-70 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 8 56 4 4 168 8 168 0 0 168 0 0 0 0 0 0 0 0
-80 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 28 196 14 14 588 28 588 0 0 588 0 0 0 0 0 0 0 0
-90 0 0 2 0 0 0 0 0 0 29 0 3 0 0 0 58 406 29 29 1216 58 1216 0 0 1216 0 0 0 2 0 0 0 0
-100 84 0 51 0 2 0 0 42 0 61 0 10 0 2 0 122 851 61 61 2472 122 2472 0 0 2430 4 0 0 0 0 0 0 3
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-0.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,48 @@
+# Number of times each instruction is exectued in deme 0
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Inst 0
+# 3: Inst 1
+# 4: Inst 2
+# 5: Inst 3
+# 6: Inst 4
+# 7: Inst 5
+# 8: Inst 6
+# 9: Inst 7
+# 10: Inst 8
+# 11: Inst 9
+# 12: Inst 10
+# 13: Inst 11
+# 14: Inst 12
+# 15: Inst 13
+# 16: Inst 14
+# 17: Inst 15
+# 18: Inst 16
+# 19: Inst 17
+# 20: Inst 18
+# 21: Inst 19
+# 22: Inst 20
+# 23: Inst 21
+# 24: Inst 22
+# 25: Inst 23
+# 26: Inst 24
+# 27: Inst 25
+# 28: Inst 26
+# 29: Inst 27
+# 30: Inst 28
+# 31: Inst 29
+# 32: Inst 30
+# 33: Inst 31
+# 34: Inst 32
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 56 4 4 168 8 168 0 0 168 0 0 0 0 0 0 0 0
+20 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 210 15 15 588 30 588 0 0 588 0 0 0 0 0 0 0 0
+30 42 0 2 0 0 0 0 0 0 0 0 0 0 0 0 62 432 31 31 1258 62 1258 0 0 1258 0 0 0 0 0 0 0 0
+40 42 0 3 0 0 0 0 0 43 0 0 0 0 0 0 115 795 57 57 2353 114 2353 0 0 2356 0 0 0 0 0 0 0 0
+50 52 0 9 2 0 0 2 0 0 3 0 0 0 0 0 194 1332 96 96 3951 192 3951 0 0 3956 0 2 2 13 0 0 0 0
+60 66 0 32 3 0 0 1 0 0 3 2 2 0 0 0 201 1379 100 100 4120 200 4120 0 11 4106 1 1 3 13 0 0 1 0
+70 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 8 56 4 4 168 8 168 0 0 168 0 0 0 0 0 0 0 0
+80 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 28 196 14 14 588 28 588 0 0 588 0 0 0 0 0 0 0 0
+90 0 0 2 0 0 0 0 0 0 29 0 3 0 0 0 58 406 29 29 1216 58 1216 0 0 1216 0 0 0 2 0 0 0 0
+100 84 0 51 0 2 0 0 42 0 61 0 10 0 2 0 122 851 61 61 2472 122 2472 0 0 2430 4 0 0 0 0 0 0 3
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,48 +0,0 @@
-# Number of times each instruction is exectued in deme 1
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Inst 0
-# 3: Inst 1
-# 4: Inst 2
-# 5: Inst 3
-# 6: Inst 4
-# 7: Inst 5
-# 8: Inst 6
-# 9: Inst 7
-# 10: Inst 8
-# 11: Inst 9
-# 12: Inst 10
-# 13: Inst 11
-# 14: Inst 12
-# 15: Inst 13
-# 16: Inst 14
-# 17: Inst 15
-# 18: Inst 16
-# 19: Inst 17
-# 20: Inst 18
-# 21: Inst 19
-# 22: Inst 20
-# 23: Inst 21
-# 24: Inst 22
-# 25: Inst 23
-# 26: Inst 24
-# 27: Inst 25
-# 28: Inst 26
-# 29: Inst 27
-# 30: Inst 28
-# 31: Inst 29
-# 32: Inst 30
-# 33: Inst 31
-# 34: Inst 32
-
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-70 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 6 42 3 3 126 6 126 0 0 126 0 0 0 0 0 0 0 0
-80 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 20 140 10 10 424 20 424 0 0 424 4 0 0 0 0 0 0 0
-90 0 2 3 0 0 0 0 4 0 34 0 0 0 0 0 64 469 34 34 1441 68 1441 2 0 1441 16 0 0 0 0 0 0 0
-100 2 5 10 0 0 0 4 13 0 59 0 86 0 0 0 105 803 59 59 2510 118 2510 4 1 2510 31 0 0 0 0 3 0 0
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_instruction-1.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,48 @@
+# Number of times each instruction is exectued in deme 1
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Inst 0
+# 3: Inst 1
+# 4: Inst 2
+# 5: Inst 3
+# 6: Inst 4
+# 7: Inst 5
+# 8: Inst 6
+# 9: Inst 7
+# 10: Inst 8
+# 11: Inst 9
+# 12: Inst 10
+# 13: Inst 11
+# 14: Inst 12
+# 15: Inst 13
+# 16: Inst 14
+# 17: Inst 15
+# 18: Inst 16
+# 19: Inst 17
+# 20: Inst 18
+# 21: Inst 19
+# 22: Inst 20
+# 23: Inst 21
+# 24: Inst 22
+# 25: Inst 23
+# 26: Inst 24
+# 27: Inst 25
+# 28: Inst 26
+# 29: Inst 27
+# 30: Inst 28
+# 31: Inst 29
+# 32: Inst 30
+# 33: Inst 31
+# 34: Inst 32
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+70 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 6 42 3 3 126 6 126 0 0 126 0 0 0 0 0 0 0 0
+80 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 20 140 10 10 424 20 424 0 0 424 4 0 0 0 0 0 0 0
+90 0 2 3 0 0 0 0 4 0 34 0 0 0 0 0 64 469 34 34 1441 68 1441 2 0 1441 16 0 0 0 0 0 0 0
+100 2 5 10 0 0 0 4 13 0 59 0 86 0 0 0 105 803 59 59 2510 118 2510 4 1 2510 31 0 0 0 0 3 0 0
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,17 +0,0 @@
-# Average life fitnesses for each deme in the population
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0
-# 3: Deme 1
-
-0 0.000000 0.000000
-10 0.267123 0
-20 0.253012 0
-30 0.260206 0
-40 0.262249 0
-50 0.262503 0
-60 0.261533 0
-70 0.265306 0.265306
-80 0.265306 0.265144
-90 0.264776 0.26499
-100 0.25159 0.26145
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_lifetime_fitness.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,17 @@
+# Average life fitnesses for each deme in the population
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0
+# 3: Deme 1
+
+0 0.000000 0.000000
+10 0.267123 0
+20 0.253012 0
+30 0.260206 0
+40 0.262249 0
+50 0.262503 0
+60 0.261533 0
+70 0.265306 0.265306
+80 0.265306 0.265144
+90 0.264776 0.26499
+100 0.25159 0.26145
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_merit.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_merit.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_merit.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,17 +0,0 @@
-# Average merits for each deme in population
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0
-# 3: Deme 1
-
-0 10.000000 0.000000
-10 3.09738 0
-20 1.61755 0
-30 1.32964 0
-40 1.2278 0
-50 1.1816 0
-60 1.15216 0
-70 3.02717 3.76817
-80 1.5694 1.79158
-90 1.24467 1.24264
-100 1.11917 1.08665
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_merit.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_merit.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_merit.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_merit.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,17 @@
+# Average merits for each deme in population
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0
+# 3: Deme 1
+
+0 10.000000 0.000000
+10 3.09738 0
+20 1.61755 0
+30 1.32964 0
+40 1.2278 0
+50 1.1816 0
+60 1.15216 0
+70 3.02717 3.76817
+80 1.5694 1.79158
+90 1.24467 1.24264
+100 1.11917 1.08665
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,18 +0,0 @@
-# Average mutation rates for organisms in each deme
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0
-# 3: Deme 1
-# 4: Average deme mutation rate averaged across Demes.
-
-0 0.007500 0.000000 0.003750
-10 0.0075 0 0.00375
-20 0.0075 0 0.00375
-30 0.0075 0 0.00375
-40 0.0075 0 0.00375
-50 0.0075 0 0.00375
-60 0.0075 0 0.00375
-70 0.0075 0.0075 0.0075
-80 0.0075 0.0075 0.0075
-90 0.0075 0.0075 0.0075
-100 0.0075 0.0075 0.0075
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_mut_rates.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,18 @@
+# Average mutation rates for organisms in each deme
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0
+# 3: Deme 1
+# 4: Average deme mutation rate averaged across Demes.
+
+0 0.007500 0.000000 0.003750
+10 0.0075 0 0.00375
+20 0.0075 0 0.00375
+30 0.0075 0 0.00375
+40 0.0075 0 0.00375
+50 0.0075 0 0.00375
+60 0.0075 0 0.00375
+70 0.0075 0.0075 0.0075
+80 0.0075 0.0075 0.0075
+90 0.0075 0.0075 0.0075
+100 0.0075 0.0075 0.0075
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_receiver.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_receiver.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_receiver.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,17 +0,0 @@
-# Num orgs doing receiving a donate for each deme in population
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0
-# 3: Deme 1
-
-0 0.000000 0.000000
-10 0 0
-20 0 0
-30 0 0
-40 0 0
-50 0 0
-60 0 0
-70 0 0
-80 0 0
-90 0 0
-100 0 0
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_receiver.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_receiver.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_receiver.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_receiver.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,17 @@
+# Num orgs doing receiving a donate for each deme in population
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0
+# 3: Deme 1
+
+0 0.000000 0.000000
+10 0 0
+20 0 0
+30 0 0
+40 0 0
+50 0 0
+60 0 0
+70 0 0
+80 0 0
+90 0 0
+100 0 0
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_resources.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_resources.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_resources.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,19 +0,0 @@
-# Avida deme resource data
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0 Resource deme_ResA
-# 3: Deme 0 Resource deme_ResB
-# 4: Deme 1 Resource deme_ResA
-# 5: Deme 1 Resource deme_ResB
-
-0 2.000000 1000.000000 1.000000 1000.000000
-10 7.5 11931.4 1 11931.4
-20 25.5 20912.2 1 20912.2
-30 65.5 30904.2 1 30904.2
-40 138 40901.5 1 41901.3
-50 296.5 50900.5 1 51900.5
-60 512 60900.2 1 60900.2
-70 6 10934.9 4 10934.9
-80 18.5 20912.2 15.5 20912.2
-90 57.5 30904.2 53.5 30904.2
-100 139 40901.5 149 40901.5
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_resources.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_resources.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_resources.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_resources.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,19 @@
+# Avida deme resource data
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0 Resource deme_ResA
+# 3: Deme 0 Resource deme_ResB
+# 4: Deme 1 Resource deme_ResA
+# 5: Deme 1 Resource deme_ResB
+
+0 2.000000 1000.000000 1.000000 1000.000000
+10 7.5 11931.4 1 11931.4
+20 25.5 20912.2 1 20912.2
+30 65.5 30904.2 1 30904.2
+40 138 40901.5 1 41901.3
+50 296.5 50900.5 1 51900.5
+60 512 60900.2 1 60900.2
+70 6 10934.9 4 10934.9
+80 18.5 20912.2 15.5 20912.2
+90 57.5 30904.2 53.5 30904.2
+100 139 40901.5 149 40901.5
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,287 +0,0 @@
-deme_0000000_deme_ResB_0000000 = [ ...
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-
-deme_0000001_deme_ResB_0000000 = [ ...
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000010 = [ ...
-10 10 10 10 10 10 10 10 10 10
-1110 1110 1110 1110 1110 1110 1110 1110 1110 1110
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000010 = [ ...
-10 10 10 10 10 10 10 10 10 10
-1110 1110 1110 1110 1110 1110 1110 1110 1110 1110
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000020 = [ ...
-10 10 10 10 10 10 10 10 10 10
-2010 2010 2010 2010 2010 2010 2010 2010 2010 2010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000020 = [ ...
-10 10 10 10 10 10 10 10 10 10
-2010 2010 2010 2010 2010 2010 2010 2010 2010 2010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000030 = [ ...
-10 10 10 10 10 10 10 10 10 10
-3010 3010 3010 3010 3010 3010 3010 3010 3010 3010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000030 = [ ...
-10 10 10 10 10 10 10 10 10 10
-3010 3010 3010 3010 3010 3010 3010 3010 3010 3010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000040 = [ ...
-10 10 10 10 10 10 10 10 10 10
-4010 4010 4010 4010 4010 4010 4010 4010 4010 4010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000040 = [ ...
-10 10 10 10 10 10 10 10 10 10
-4110 4110 4110 4110 4110 4110 4110 4110 4110 4110
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.133028 0.133028 0.133028 0.133028 0.133028 0.133028 0.133028 0.133028 0.133028 0.133028
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000050 = [ ...
-10 10 10 10 10 10 10 10 10 10
-5010 5010 5010 5010 5010 5010 5010 5010 5010 5010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000050 = [ ...
-10 10 10 10 10 10 10 10 10 10
-5110 5110 5110 5110 5110 5110 5110 5110 5110 5110
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.046384 0.046384 0.046384 0.046384 0.046384 0.046384 0.046384 0.046384 0.046384 0.046384
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000060 = [ ...
-10 10 10 10 10 10 10 10 10 10
-6010 6010 6010 6010 6010 6010 6010 6010 6010 6010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000060 = [ ...
-10 10 10 10 10 10 10 10 10 10
-6010 6010 6010 6010 6010 6010 6010 6010 6010 6010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000070 = [ ...
-10 10 10 10 10 10 10 10 10 10
-1010 1010 1010 1010 1010 1010 1010 1010 1010 1010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000070 = [ ...
-10 10 10 10 10 10 10 10 10 10
-1010 1010 1010 1010 1010 1010 1010 1010 1010 1010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000080 = [ ...
-10 10 10 10 10 10 10 10 10 10
-2010 2010 2010 2010 2010 2010 2010 2010 2010 2010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000080 = [ ...
-10 10 10 10 10 10 10 10 10 10
-2010 2010 2010 2010 2010 2010 2010 2010 2010 2010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000090 = [ ...
-10 10 10 10 10 10 10 10 10 10
-3010 3010 3010 3010 3010 3010 3010 3010 3010 3010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000090 = [ ...
-10 10 10 10 10 10 10 10 10 10
-3010 3010 3010 3010 3010 3010 3010 3010 3010 3010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000000_deme_ResB_0000100 = [ ...
-10 10 10 10 10 10 10 10 10 10
-4010 4010 4010 4010 4010 4010 4010 4010 4010 4010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
-deme_0000001_deme_ResB_0000100 = [ ...
-10 10 10 10 10 10 10 10 10 10
-4010 4010 4010 4010 4010 4010 4010 4010 4010 4010
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-10 10 10 10 10 10 10 10 10 10
-];
-
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_resource_deme_ResB.m 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,287 @@
+deme_0000000_deme_ResB_0000000 = [ ...
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+
+deme_0000001_deme_ResB_0000000 = [ ...
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000010 = [ ...
+10 10 10 10 10 10 10 10 10 10
+1110 1110 1110 1110 1110 1110 1110 1110 1110 1110
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000010 = [ ...
+10 10 10 10 10 10 10 10 10 10
+1110 1110 1110 1110 1110 1110 1110 1110 1110 1110
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811 3.13811
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000020 = [ ...
+10 10 10 10 10 10 10 10 10 10
+2010 2010 2010 2010 2010 2010 2010 2010 2010 2010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000020 = [ ...
+10 10 10 10 10 10 10 10 10 10
+2010 2010 2010 2010 2010 2010 2010 2010 2010 2010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000030 = [ ...
+10 10 10 10 10 10 10 10 10 10
+3010 3010 3010 3010 3010 3010 3010 3010 3010 3010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000030 = [ ...
+10 10 10 10 10 10 10 10 10 10
+3010 3010 3010 3010 3010 3010 3010 3010 3010 3010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000040 = [ ...
+10 10 10 10 10 10 10 10 10 10
+4010 4010 4010 4010 4010 4010 4010 4010 4010 4010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000040 = [ ...
+10 10 10 10 10 10 10 10 10 10
+4110 4110 4110 4110 4110 4110 4110 4110 4110 4110
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.133028 0.133028 0.133028 0.133028 0.133028 0.133028 0.133028 0.133028 0.133028 0.133028
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000050 = [ ...
+10 10 10 10 10 10 10 10 10 10
+5010 5010 5010 5010 5010 5010 5010 5010 5010 5010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378 0.0515378
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000050 = [ ...
+10 10 10 10 10 10 10 10 10 10
+5110 5110 5110 5110 5110 5110 5110 5110 5110 5110
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.046384 0.046384 0.046384 0.046384 0.046384 0.046384 0.046384 0.046384 0.046384 0.046384
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000060 = [ ...
+10 10 10 10 10 10 10 10 10 10
+6010 6010 6010 6010 6010 6010 6010 6010 6010 6010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000060 = [ ...
+10 10 10 10 10 10 10 10 10 10
+6010 6010 6010 6010 6010 6010 6010 6010 6010 6010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701 0.0179701
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000070 = [ ...
+10 10 10 10 10 10 10 10 10 10
+1010 1010 1010 1010 1010 1010 1010 1010 1010 1010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000070 = [ ...
+10 10 10 10 10 10 10 10 10 10
+1010 1010 1010 1010 1010 1010 1010 1010 1010 1010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678 3.48678
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000080 = [ ...
+10 10 10 10 10 10 10 10 10 10
+2010 2010 2010 2010 2010 2010 2010 2010 2010 2010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000080 = [ ...
+10 10 10 10 10 10 10 10 10 10
+2010 2010 2010 2010 2010 2010 2010 2010 2010 2010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577 1.21577
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000090 = [ ...
+10 10 10 10 10 10 10 10 10 10
+3010 3010 3010 3010 3010 3010 3010 3010 3010 3010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000090 = [ ...
+10 10 10 10 10 10 10 10 10 10
+3010 3010 3010 3010 3010 3010 3010 3010 3010 3010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912 0.423912
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000000_deme_ResB_0000100 = [ ...
+10 10 10 10 10 10 10 10 10 10
+4010 4010 4010 4010 4010 4010 4010 4010 4010 4010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
+deme_0000001_deme_ResB_0000100 = [ ...
+10 10 10 10 10 10 10 10 10 10
+4010 4010 4010 4010 4010 4010 4010 4010 4010 4010
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809 0.147809
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+10 10 10 10 10 10 10 10 10 10
+];
+
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,287 +0,0 @@
-deme_0000000_sleep_0000000 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-
-deme_0000001_sleep_0000000 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000010 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000010 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000020 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000020 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000030 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000030 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000040 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000040 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000050 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000050 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000060 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 1 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 1 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000060 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000070 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000070 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000080 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 1 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000080 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000090 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000090 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000000_sleep_0000100 = [ ...
-0 0 0 0 0 0 0 0 0 0
-1 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 1 0 0 0 0 0 0 0
-0 0 0 1 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
-deme_0000001_sleep_0000100 = [ ...
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 1 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0
-];
-
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_spatial_sleep.m 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,287 @@
+deme_0000000_sleep_0000000 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+
+deme_0000001_sleep_0000000 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000010 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000010 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000020 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000020 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000030 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000030 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000040 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000040 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000050 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000050 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000060 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 1 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 1 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000060 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000070 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000070 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000080 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 1 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000080 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000090 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000090 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000000_sleep_0000100 = [ ...
+0 0 0 0 0 0 0 0 0 0
+1 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 1 0 0 0 0 0 0 0
+0 0 0 1 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
+deme_0000001_sleep_0000100 = [ ...
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 1 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+];
+
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_task.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/deme_task.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_task.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,19 +0,0 @@
-# Num orgs doing each task for each deme in population
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: Deme 0, Task 0
-# 3: Deme 0, Task 1
-# 4: Deme 1, Task 0
-# 5: Deme 1, Task 1
-
-0 0 0 0 0
-10 4 4 0 0
-20 15 15 0 0
-30 31 31 0 0
-40 57 57 0 0
-50 96 96 0 0
-60 100 100 0 0
-70 4 4 3 3
-80 14 14 10 10
-90 29 29 34 34
-100 61 61 59 59
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/deme_task.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/deme_task.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/deme_task.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/deme_task.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,19 @@
+# Num orgs doing each task for each deme in population
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: Deme 0, Task 0
+# 3: Deme 0, Task 1
+# 4: Deme 1, Task 0
+# 5: Deme 1, Task 1
+
+0 0 0 0 0
+10 4 4 0 0
+20 15 15 0 0
+30 31 31 0 0
+40 57 57 0 0
+50 96 96 0 0
+60 100 100 0 0
+70 4 4 3 3
+80 14 14 10 10
+90 29 29 34 34
+100 61 61 59 59
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/dominant.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/dominant.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/dominant.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,30 +0,0 @@
-# Avida Dominant Data
-# Thu Jun 4 11:34:53 2009
-# 1: Update
-# 2: Average Merit of the Dominant Genotype
-# 3: Average Gestation Time of the Dominant Genotype
-# 4: Average Fitness of the Dominant Genotype
-# 5: Repro Rate?
-# 6: Size of Dominant Genotype
-# 7: Copied Size of Dominant Genotype
-# 8: Executed Size of Dominant Genotype
-# 9: Abundance of Dominant Genotype
-# 10: Number of Births
-# 11: Number of Dominant Breed True?
-# 12: Dominant Gene Depth
-# 13: Dominant Breed In
-# 14: Max Fitness?
-# 15: Genotype ID of Dominant Genotype
-# 16: Name of the Dominant Genotype
-
-0 0.000000 0.000000 0.000000 0.000000 42 0.000000 0.000000 1 0 0 0 0 0.000000 1 042-aaaaa
-10 3.83097 146 0.267123 0.00684932 42 42 39 4 1 1 0 0 0.267123 1 042-aaaaa
-20 2.25175 146 0.267123 0.00684932 42 42 39 11 4 3 0 0 0.267123 1 042-aaaaa
-30 1.65767 146 0.267123 0.00684932 42 42 39 20 7 6 0 0 0.267123 1 042-aaaaa
-40 1.41391 146 0.267123 0.00684932 42 42 39 37 14 8 0 0 0.267123 1 042-aaaaa
-50 1.30456 146 0.267123 0.00684932 42 42 39 45 6 1 0 0 0.267123 1 042-aaaaa
-60 1.2547 146 0.267123 0.00684932 42 42 39 36 11 8 0 0 0.267606 1 042-aaaaa
-70 3.91637 147 0.265306 0.00680272 42 42 39 6 2 2 0 0 0.265306 99 042-aaaag
-80 2.28954 147 0.265306 0.00680272 42 42 39 13 6 2 0 0 0.265306 99 042-aaaag
-90 1.70738 147 0.265306 0.00680272 42 42 39 22 9 7 0 0 0.265306 99 042-aaaag
-100 1.45212 147 0.265306 0.00680272 42 42 39 28 6 2 0 0 0.265306 99 042-aaaag
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/dominant.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/dominant.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/dominant.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/dominant.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,30 @@
+# Avida Dominant Data
+# Thu Jun 4 11:34:53 2009
+# 1: Update
+# 2: Average Merit of the Dominant Genotype
+# 3: Average Gestation Time of the Dominant Genotype
+# 4: Average Fitness of the Dominant Genotype
+# 5: Repro Rate?
+# 6: Size of Dominant Genotype
+# 7: Copied Size of Dominant Genotype
+# 8: Executed Size of Dominant Genotype
+# 9: Abundance of Dominant Genotype
+# 10: Number of Births
+# 11: Number of Dominant Breed True?
+# 12: Dominant Gene Depth
+# 13: Dominant Breed In
+# 14: Max Fitness?
+# 15: Genotype ID of Dominant Genotype
+# 16: Name of the Dominant Genotype
+
+0 0.000000 0.000000 0.000000 0.000000 42 0.000000 0.000000 1 0 0 0 0 0.000000 1 042-aaaaa
+10 3.83097 146 0.267123 0.00684932 42 42 39 4 1 1 0 0 0.267123 1 042-aaaaa
+20 2.25175 146 0.267123 0.00684932 42 42 39 11 4 3 0 0 0.267123 1 042-aaaaa
+30 1.65767 146 0.267123 0.00684932 42 42 39 20 7 6 0 0 0.267123 1 042-aaaaa
+40 1.41391 146 0.267123 0.00684932 42 42 39 37 14 8 0 0 0.267123 1 042-aaaaa
+50 1.30456 146 0.267123 0.00684932 42 42 39 45 6 1 0 0 0.267123 1 042-aaaaa
+60 1.2547 146 0.267123 0.00684932 42 42 39 36 11 8 0 0 0.267606 1 042-aaaaa
+70 3.91637 147 0.265306 0.00680272 42 42 39 6 2 2 0 0 0.265306 99 042-aaaag
+80 2.28954 147 0.265306 0.00680272 42 42 39 13 6 2 0 0 0.265306 99 042-aaaag
+90 1.70738 147 0.265306 0.00680272 42 42 39 22 9 7 0 0 0.265306 99 042-aaaag
+100 1.45212 147 0.265306 0.00680272 42 42 39 28 6 2 0 0 0.265306 99 042-aaaag
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/instruction.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/instruction.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/instruction.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,48 +0,0 @@
-# Avida instruction execution data
-# Thu Jun 4 11:34:53 2009
-# 1: Update
-# 2: nop-A
-# 3: nop-B
-# 4: nop-C
-# 5: if-n-equ
-# 6: if-less
-# 7: pop
-# 8: push
-# 9: swap-stk
-# 10: swap
-# 11: shift-r
-# 12: shift-l
-# 13: inc
-# 14: dec
-# 15: add
-# 16: sub
-# 17: nand
-# 18: IO
-# 19: h-alloc
-# 20: h-divide
-# 21: h-copy
-# 22: h-search
-# 23: mov-head
-# 24: jmp-head
-# 25: get-head
-# 26: if-label
-# 27: set-flow
-# 28: sense-m100
-# 29: if-equ-0
-# 30: time
-# 31: sleep1
-# 32: sleep2
-# 33: sleep3
-# 34: sleep4
-
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 56 4 4 168 8 168 0 0 168 0 0 0 0 0 0 0 0
-20 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 210 15 15 588 30 588 0 0 588 0 0 0 0 0 0 0 0
-30 42 0 2 0 0 0 0 0 0 0 0 0 0 0 0 62 432 31 31 1258 62 1258 0 0 1258 0 0 0 0 0 0 0 0
-40 42 0 3 0 0 0 0 0 43 0 0 0 0 0 0 115 795 57 57 2353 114 2353 0 0 2356 0 0 0 0 0 0 0 0
-50 52 0 9 2 0 0 2 0 0 3 0 0 0 0 0 194 1332 96 96 3951 192 3951 0 0 3956 0 2 2 13 0 0 0 0
-60 66 0 32 3 0 0 1 0 0 3 2 2 0 0 0 201 1379 100 100 4120 200 4120 0 11 4106 1 1 3 13 0 0 1 0
-70 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 14 98 7 7 294 14 294 0 0 294 0 0 0 0 0 0 0 0
-80 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 48 336 24 24 1012 48 1012 0 0 1012 4 0 0 0 0 0 0 0
-90 0 2 5 0 0 0 0 4 0 63 0 3 0 0 0 122 875 63 63 2657 126 2657 2 0 2657 16 0 0 2 0 0 0 0
-100 86 5 61 0 2 0 4 55 0 120 0 96 0 2 0 227 1654 120 120 4982 240 4982 4 1 4940 35 0 0 0 0 3 0 3
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/instruction.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/instruction.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/instruction.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/instruction.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,48 @@
+# Avida instruction execution data
+# Thu Jun 4 11:34:53 2009
+# 1: Update
+# 2: nop-A
+# 3: nop-B
+# 4: nop-C
+# 5: if-n-equ
+# 6: if-less
+# 7: pop
+# 8: push
+# 9: swap-stk
+# 10: swap
+# 11: shift-r
+# 12: shift-l
+# 13: inc
+# 14: dec
+# 15: add
+# 16: sub
+# 17: nand
+# 18: IO
+# 19: h-alloc
+# 20: h-divide
+# 21: h-copy
+# 22: h-search
+# 23: mov-head
+# 24: jmp-head
+# 25: get-head
+# 26: if-label
+# 27: set-flow
+# 28: sense-m100
+# 29: if-equ-0
+# 30: time
+# 31: sleep1
+# 32: sleep2
+# 33: sleep3
+# 34: sleep4
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 56 4 4 168 8 168 0 0 168 0 0 0 0 0 0 0 0
+20 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 210 15 15 588 30 588 0 0 588 0 0 0 0 0 0 0 0
+30 42 0 2 0 0 0 0 0 0 0 0 0 0 0 0 62 432 31 31 1258 62 1258 0 0 1258 0 0 0 0 0 0 0 0
+40 42 0 3 0 0 0 0 0 43 0 0 0 0 0 0 115 795 57 57 2353 114 2353 0 0 2356 0 0 0 0 0 0 0 0
+50 52 0 9 2 0 0 2 0 0 3 0 0 0 0 0 194 1332 96 96 3951 192 3951 0 0 3956 0 2 2 13 0 0 0 0
+60 66 0 32 3 0 0 1 0 0 3 2 2 0 0 0 201 1379 100 100 4120 200 4120 0 11 4106 1 1 3 13 0 0 1 0
+70 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 14 98 7 7 294 14 294 0 0 294 0 0 0 0 0 0 0 0
+80 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 48 336 24 24 1012 48 1012 0 0 1012 4 0 0 0 0 0 0 0
+90 0 2 5 0 0 0 0 4 0 63 0 3 0 0 0 122 875 63 63 2657 126 2657 2 0 2657 16 0 0 2 0 0 0 0
+100 86 5 61 0 2 0 4 55 0 120 0 96 0 2 0 227 1654 120 120 4982 240 4982 4 1 4940 35 0 0 0 0 3 0 3
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/instruction_histogram.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/instruction_histogram.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/instruction_histogram.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,46 +0,0 @@
-# 1: Update
-# 2: nop-A
-# 3: nop-B
-# 4: nop-C
-# 5: if-n-equ
-# 6: if-less
-# 7: pop
-# 8: push
-# 9: swap-stk
-# 10: swap
-# 11: shift-r
-# 12: shift-l
-# 13: inc
-# 14: dec
-# 15: add
-# 16: sub
-# 17: nand
-# 18: IO
-# 19: h-alloc
-# 20: h-divide
-# 21: h-copy
-# 22: h-search
-# 23: mov-head
-# 24: jmp-head
-# 25: get-head
-# 26: if-label
-# 27: set-flow
-# 28: sense-m100
-# 29: if-equ-0
-# 30: time
-# 31: sleep1
-# 32: sleep2
-# 33: sleep3
-# 34: sleep4
-
-0 77 1 18 0 0 0 0 0 0 0 0 0 0 0 0 2 17 2 1 1 3 3 0 0 1 0 0 0 0 0 0 0 0
-10 318 4 68 0 0 0 0 0 0 0 0 0 0 0 0 8 65 7 4 4 11 11 0 0 4 0 0 0 0 0 0 0 0
-20 1106 14 232 0 0 0 0 0 0 0 0 0 1 0 0 28 225 22 14 15 36 37 0 0 14 0 1 0 0 0 0 0 0
-30 2271 34 537 0 0 2 0 0 2 0 0 1 1 0 0 70 525 45 35 36 79 82 0 0 37 0 1 0 0 0 0 0 0
-40 3971 71 1076 0 0 1 0 0 1 1 0 1 1 0 1 149 1067 82 71 73 152 155 0 0 76 0 2 0 0 0 0 1 1
-50 5765 123 2070 3 0 2 5 0 0 4 2 0 2 0 1 295 2067 167 129 124 285 280 2 0 131 1 6 4 6 0 2 5 0
-60 6784 115 1925 7 0 5 1 1 5 4 4 2 2 0 3 268 1911 160 126 116 276 269 1 1 121 3 3 7 6 1 4 2 1
-70 467 8 112 0 0 0 0 0 0 8 0 0 0 0 0 16 118 10 8 8 18 18 0 0 8 2 0 0 0 0 0 0 0
-80 1592 30 392 0 0 0 0 2 0 30 0 1 0 0 1 59 421 30 29 29 60 60 1 0 30 8 0 1 1 0 1 0 0
-90 4347 87 1182 3 2 1 4 7 2 95 0 6 0 0 0 177 1266 95 82 80 177 177 5 2 82 31 1 4 4 0 2 0 2
-100 8098 159 2375 4 3 0 11 17 1 186 2 24 1 4 4 338 2531 205 145 145 355 346 5 3 151 57 1 1 1 1 5 0 4
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/instruction_histogram.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/instruction_histogram.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/instruction_histogram.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/instruction_histogram.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,46 @@
+# 1: Update
+# 2: nop-A
+# 3: nop-B
+# 4: nop-C
+# 5: if-n-equ
+# 6: if-less
+# 7: pop
+# 8: push
+# 9: swap-stk
+# 10: swap
+# 11: shift-r
+# 12: shift-l
+# 13: inc
+# 14: dec
+# 15: add
+# 16: sub
+# 17: nand
+# 18: IO
+# 19: h-alloc
+# 20: h-divide
+# 21: h-copy
+# 22: h-search
+# 23: mov-head
+# 24: jmp-head
+# 25: get-head
+# 26: if-label
+# 27: set-flow
+# 28: sense-m100
+# 29: if-equ-0
+# 30: time
+# 31: sleep1
+# 32: sleep2
+# 33: sleep3
+# 34: sleep4
+
+0 77 1 18 0 0 0 0 0 0 0 0 0 0 0 0 2 17 2 1 1 3 3 0 0 1 0 0 0 0 0 0 0 0
+10 318 4 68 0 0 0 0 0 0 0 0 0 0 0 0 8 65 7 4 4 11 11 0 0 4 0 0 0 0 0 0 0 0
+20 1106 14 232 0 0 0 0 0 0 0 0 0 1 0 0 28 225 22 14 15 36 37 0 0 14 0 1 0 0 0 0 0 0
+30 2271 34 537 0 0 2 0 0 2 0 0 1 1 0 0 70 525 45 35 36 79 82 0 0 37 0 1 0 0 0 0 0 0
+40 3971 71 1076 0 0 1 0 0 1 1 0 1 1 0 1 149 1067 82 71 73 152 155 0 0 76 0 2 0 0 0 0 1 1
+50 5765 123 2070 3 0 2 5 0 0 4 2 0 2 0 1 295 2067 167 129 124 285 280 2 0 131 1 6 4 6 0 2 5 0
+60 6784 115 1925 7 0 5 1 1 5 4 4 2 2 0 3 268 1911 160 126 116 276 269 1 1 121 3 3 7 6 1 4 2 1
+70 467 8 112 0 0 0 0 0 0 8 0 0 0 0 0 16 118 10 8 8 18 18 0 0 8 2 0 0 0 0 0 0 0
+80 1592 30 392 0 0 0 0 2 0 30 0 1 0 0 1 59 421 30 29 29 60 60 1 0 30 8 0 1 1 0 1 0 0
+90 4347 87 1182 3 2 1 4 7 2 95 0 6 0 0 0 177 1266 95 82 80 177 177 5 2 82 31 1 4 4 0 2 0 2
+100 8098 159 2375 4 3 0 11 17 1 186 2 24 1 4 4 338 2531 205 145 145 355 346 5 3 151 57 1 1 1 1 5 0 4
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/resource.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/resource.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/resource.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,18 +0,0 @@
-# Avida resource data
-# Thu Jun 4 11:34:53 2009
-# First column gives the current update, all further columns give the quantity
-# of the particular resource at that update.
-# 1: Update
-# 2: global
-
-0 11.000000
-10 71
-20 262
-30 662
-40 1419
-50 3005
-60 5209
-70 5281
-80 5536
-90 6291
-100 7944
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/resource.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/resource.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/resource.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/resource.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,18 @@
+# Avida resource data
+# Thu Jun 4 11:34:53 2009
+# First column gives the current update, all further columns give the quantity
+# of the particular resource at that update.
+# 1: Update
+# 2: global
+
+0 11.000000
+10 71
+20 262
+30 662
+40 1419
+50 3005
+60 5209
+70 5281
+80 5536
+90 6291
+100 7944
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/sleep.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/sleep.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/sleep.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,17 +0,0 @@
-# Number of organisms sleeping
-
-# total number of organisms sleeping
-# 1: update
-# 2: DemeID 0
-# 3: DemeID 1
-
-10 0 0
-20 0 0
-30 0 0
-40 0 0
-50 0 0
-60 2 0
-70 0 0
-80 1 0
-90 0 0
-100 3 1
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/sleep.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/sleep.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/sleep.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/sleep.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,17 @@
+# Number of organisms sleeping
+
+# total number of organisms sleeping
+# 1: update
+# 2: DemeID 0
+# 3: DemeID 1
+
+10 0 0
+20 0 0
+30 0 0
+40 0 0
+50 0 0
+60 2 0
+70 0 0
+80 1 0
+90 0 0
+100 3 1
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/stats.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/stats.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/stats.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,26 +0,0 @@
-# Generic Statistics Data
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: average inferiority (energy)
-# 3: ave probability of any mutations in genome
-# 4: probability of any mutations in dom genome
-# 5: log(average fidelity)
-# 6: log(dominant fidelity)
-# 7: change in number of genotypes
-# 8: genotypic entropy
-# 9: species entropy
-# 10: depth of most reacent coalescence
-# 11: Total number of resamplings this generation
-# 12: Total number of organisms that failed to resample this generation
-
-0 0.000000 0.335790 0.335790 0.409157 0.409157 1 0.000000 0.000000 0 0 0
-10 0 0.33579 0.33579 0.409157 0.409157 0 0 0 0 0 0
-20 0.0542725 0.336759 0.33579 0.410617 0.409157 1 0.949594 0 0 0 0
-30 0.0262377 0.336103 0.33579 0.409628 0.409157 2 1.50126 0 0 0 0
-40 0.0184142 0.336045 0.33579 0.409541 0.409157 3 1.58348 0 0 0 0
-50 0.017446 0.336245 0.33579 0.409842 0.409157 6 2.53803 0 0 0 0
-60 0.021148 0.33613 0.33579 0.409668 0.409157 -1 2.98257 0 0 0 0
-70 0 0.336483 0.33579 0.4102 0.409157 0 0.410116 0 0 0 0
-80 0.000254745 0.336194 0.33579 0.409766 0.409157 4 1.65138 0 0 0 0
-90 0.00156406 0.339703 0.33579 0.415066 0.409157 3 2.57671 0 0 0 0
-100 0.0339996 0.340581 0.33579 0.416396 0.409157 6 3.40835 0 0 0 0
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/stats.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/stats.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/stats.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/stats.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,26 @@
+# Generic Statistics Data
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: average inferiority (energy)
+# 3: ave probability of any mutations in genome
+# 4: probability of any mutations in dom genome
+# 5: log(average fidelity)
+# 6: log(dominant fidelity)
+# 7: change in number of genotypes
+# 8: genotypic entropy
+# 9: species entropy
+# 10: depth of most reacent coalescence
+# 11: Total number of resamplings this generation
+# 12: Total number of organisms that failed to resample this generation
+
+0 0.000000 0.335790 0.335790 0.409157 0.409157 1 0.000000 0.000000 0 0 0
+10 0 0.33579 0.33579 0.409157 0.409157 0 0 0 0 0 0
+20 0.0542725 0.336759 0.33579 0.410617 0.409157 1 0.949594 0 0 0 0
+30 0.0262377 0.336103 0.33579 0.409628 0.409157 2 1.50126 0 0 0 0
+40 0.0184142 0.336045 0.33579 0.409541 0.409157 3 1.58348 0 0 0 0
+50 0.017446 0.336245 0.33579 0.409842 0.409157 6 2.53803 0 0 0 0
+60 0.021148 0.33613 0.33579 0.409668 0.409157 -1 2.98257 0 0 0 0
+70 0 0.336483 0.33579 0.4102 0.409157 0 0.410116 0 0 0 0
+80 0.000254745 0.336194 0.33579 0.409766 0.409157 4 1.65138 0 0 0 0
+90 0.00156406 0.339703 0.33579 0.415066 0.409157 3 2.57671 0 0 0 0
+100 0.0339996 0.340581 0.33579 0.416396 0.409157 6 3.40835 0 0 0 0
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/tasks.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/tasks.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/tasks.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,19 +0,0 @@
-# Avida tasks data
-# Thu Jun 4 11:34:53 2009
-# First column gives the current update, next columns give the number
-# of organisms that have the particular task as a component of their merit
-# 1: Update
-# 2: Echo
-# 3: Nand
-
-0 0 0
-10 4 4
-20 15 15
-30 31 31
-40 57 57
-50 96 96
-60 100 100
-70 7 7
-80 24 24
-90 63 63
-100 120 120
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/tasks.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/tasks.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/tasks.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/tasks.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,19 @@
+# Avida tasks data
+# Thu Jun 4 11:34:53 2009
+# First column gives the current update, next columns give the number
+# of organisms that have the particular task as a component of their merit
+# 1: Update
+# 2: Echo
+# 3: Nand
+
+0 0 0
+10 4 4
+20 15 15
+30 31 31
+40 57 57
+50 96 96
+60 100 100
+70 7 7
+80 24 24
+90 63 63
+100 120 120
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/tasks_exe.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/tasks_exe.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/tasks_exe.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,18 +0,0 @@
-# Avida tasks execution data
-# Thu Jun 4 11:34:53 2009
-# First column gives the current update, all further columns give the number
-# of times the particular task has been executed this update.
-# 1: Update
-# 2: Echo
-# 3: Nand
-
-10 40 8
-20 150 30
-30 308 62
-40 567 114
-50 943 192
-60 972 197
-70 63 14
-80 216 48
-90 563 120
-100 1066 227
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/tasks_exe.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/tasks_exe.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/tasks_exe.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/tasks_exe.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,18 @@
+# Avida tasks execution data
+# Thu Jun 4 11:34:53 2009
+# First column gives the current update, all further columns give the number
+# of times the particular task has been executed this update.
+# 1: Update
+# 2: Echo
+# 3: Nand
+
+10 40 8
+20 150 30
+30 308 62
+40 567 114
+50 943 192
+60 972 197
+70 63 14
+80 216 48
+90 563 120
+100 1066 227
Deleted: branches/interrupt/tests/energy_deme_level_res/expected/data/time.dat
===================================================================
--- development/tests/energy_deme_level_res/expected/data/time.dat 2009-06-09 17:13:30 UTC (rev 3300)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/time.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -1,18 +0,0 @@
-# Avida time data
-# Thu Jun 4 11:34:53 2009
-# 1: update
-# 2: avida time
-# 3: average generation
-# 4: num_executed?
-
-0 0.000000 0.000000 30
-10 1.60476 2 90
-20 5.80003 3.93333 330
-30 12.4747 5.51613 810
-40 20.3006 7.22807 1470
-50 28.6114 9.05208 2790
-60 37.1763 11.16 3000
-70 39.4354 1.85714 150
-80 43.5748 3.66667 540
-90 50.592 5.33333 1590
-100 59.2194 7.11667 3300
Copied: branches/interrupt/tests/energy_deme_level_res/expected/data/time.dat (from rev 3300, development/tests/energy_deme_level_res/expected/data/time.dat)
===================================================================
--- branches/interrupt/tests/energy_deme_level_res/expected/data/time.dat (rev 0)
+++ branches/interrupt/tests/energy_deme_level_res/expected/data/time.dat 2009-06-25 21:17:10 UTC (rev 3340)
@@ -0,0 +1,18 @@
+# Avida time data
+# Thu Jun 4 11:34:53 2009
+# 1: update
+# 2: avida time
+# 3: average generation
+# 4: num_executed?
+
+0 0.000000 0.000000 30
+10 1.60476 2 90
+20 5.80003 3.93333 330
+30 12.4747 5.51613 810
+40 20.3006 7.22807 1470
+50 28.6114 9.05208 2790
+60 37.1763 11.16 3000
+70 39.4354 1.85714 150
+80 43.5748 3.66667 540
+90 50.592 5.33333 1590
+100 59.2194 7.11667 3300
Modified: branches/interrupt/tests/interruptModel_quorumSensing/config/events.cfg
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/config/events.cfg 2009-06-25 21:00:03 UTC (rev 3339)
+++ branches/interrupt/tests/interruptModel_quorumSensing/config/events.cfg 2009-06-25 21:17:10 UTC (rev 3340)
@@ -14,7 +14,7 @@
##############################################################################
i InjectDemes
-u 20:20:end CompeteDemes_EnergyConserve
+u 10:10:end CompeteDemes_EnergyConserve # this was orginally 20, but a bug was fixed and it need to be lowered
# Print all of the standard data files...
u 0:100:end PrintAverageData # Save info about they average genotypes
More information about the Avida-cvs
mailing list