[Avida-SVN] r1424 - in branches/energy/source: cpu main
beckma24 at myxo.css.msu.edu
beckma24 at myxo.css.msu.edu
Fri Mar 23 10:00:25 PDT 2007
Author: beckma24
Date: 2007-03-23 13:00:24 -0400 (Fri, 23 Mar 2007)
New Revision: 1424
Modified:
branches/energy/source/cpu/cHardwareCPU.cc
branches/energy/source/cpu/cHardwareCPU.h
branches/energy/source/main/cOrganism.cc
branches/energy/source/main/cPhenotype.cc
Log:
Added extra sleep instructions and a time instructions which returns the current update.
Modified: branches/energy/source/cpu/cHardwareCPU.cc
===================================================================
--- branches/energy/source/cpu/cHardwareCPU.cc 2007-03-23 14:46:37 UTC (rev 1423)
+++ branches/energy/source/cpu/cHardwareCPU.cc 2007-03-23 17:00:24 UTC (rev 1424)
@@ -328,6 +328,11 @@
tInstLibEntry<tMethod>("die", &cHardwareCPU::Inst_Die),
tInstLibEntry<tMethod>("sleep", &cHardwareCPU::Inst_Sleep),
+ tInstLibEntry<tMethod>("sleep1", &cHardwareCPU::Inst_Sleep),
+ tInstLibEntry<tMethod>("sleep2", &cHardwareCPU::Inst_Sleep),
+ tInstLibEntry<tMethod>("sleep3", &cHardwareCPU::Inst_Sleep),
+ tInstLibEntry<tMethod>("sleep4", &cHardwareCPU::Inst_Sleep),
+ tInstLibEntry<tMethod>("time", &cHardwareCPU::Inst_GetUpdate),
// Placebo instructions
tInstLibEntry<tMethod>("skip", &cHardwareCPU::Inst_Skip)
@@ -3617,7 +3622,13 @@
return true;
}
+bool cHardwareCPU::Inst_GetUpdate(cAvidaContext& ctx) {
+ const int reg_used = FindModifiedRegister(REG_BX);
+ GetRegister(reg_used) = m_world->GetStats().GetUpdate();
+ return true;
+}
+
//// Placebo insts ////
bool cHardwareCPU::Inst_Skip(cAvidaContext& ctx)
{
Modified: branches/energy/source/cpu/cHardwareCPU.h
===================================================================
--- branches/energy/source/cpu/cHardwareCPU.h 2007-03-23 14:46:37 UTC (rev 1423)
+++ branches/energy/source/cpu/cHardwareCPU.h 2007-03-23 17:00:24 UTC (rev 1424)
@@ -516,6 +516,7 @@
bool Inst_HeadDivide0_001(cAvidaContext& ctx);
bool Inst_Sleep(cAvidaContext& ctx);
+ bool Inst_GetUpdate(cAvidaContext& ctx);
//// Placebo ////
bool Inst_Skip(cAvidaContext& ctx);
};
Modified: branches/energy/source/main/cOrganism.cc
===================================================================
--- branches/energy/source/main/cOrganism.cc 2007-03-23 14:46:37 UTC (rev 1423)
+++ branches/energy/source/main/cOrganism.cc 2007-03-23 17:00:24 UTC (rev 1424)
@@ -212,7 +212,7 @@
if(m_world->GetConfig().ENERGY_ENABLED.Get()) {
double newMerit = m_phenotype.RefreshEnergy();
if(newMerit != -1) {
- std::cerr<<GetCellID()<<" "<<newMerit<<std::endl;
+// std::cerr<<GetCellID()<<" "<<newMerit<<std::endl;
m_world->GetPopulation().UpdateMerit(GetCellID(), newMerit);
}
}
Modified: branches/energy/source/main/cPhenotype.cc
===================================================================
--- branches/energy/source/main/cPhenotype.cc 2007-03-23 14:46:37 UTC (rev 1423)
+++ branches/energy/source/main/cPhenotype.cc 2007-03-23 17:00:24 UTC (rev 1424)
@@ -831,7 +831,7 @@
if(cur_energy_bonus > 0) {
energy_store += cur_energy_bonus;
cur_energy_bonus = 0;
- std::cerr<<energy_store<<"/"<<m_world->GetConfig().NUM_INST_EXC_BEFORE_0_ENERGY.Get()<<std::endl;
+// std::cerr<<energy_store<<"/"<<m_world->GetConfig().NUM_INST_EXC_BEFORE_0_ENERGY.Get()<<std::endl;
return 100 * energy_store / (m_world->GetConfig().NUM_INST_EXC_BEFORE_0_ENERGY.Get());
}
return -1;
More information about the Avida-cvs
mailing list