[Avida-SVN] r2153 - branches/energy/source/main
beckma24 at myxo.css.msu.edu
beckma24 at myxo.css.msu.edu
Wed Oct 24 06:30:49 PDT 2007
Author: beckma24
Date: 2007-10-24 09:30:48 -0400 (Wed, 24 Oct 2007)
New Revision: 2153
Modified:
branches/energy/source/main/cDeme.cc
branches/energy/source/main/cStats.cc
Log:
Bug fix: found and fixed source of predicate loss
Modified: branches/energy/source/main/cDeme.cc
===================================================================
--- branches/energy/source/main/cDeme.cc 2007-10-24 03:34:18 UTC (rev 2152)
+++ branches/energy/source/main/cDeme.cc 2007-10-24 13:30:48 UTC (rev 2153)
@@ -119,13 +119,12 @@
//remove old events and corresponding predicates
for(int i = cell_events.Size()-1; i >= 0; i--) {
- if(cell_events[i].GetTimeToLive() < m_world->GetStats().GetUpdate()) {
+ if(cell_events[i].GetTimeToLive() <= m_world->GetStats().GetUpdate()) {
//remove predicates from stats and deme
- for(int j = 0; j < message_pred_list.Size(); j++) {
- if(message_pred_list[j]->GetEvent() == &(cell_events[j])) {
+ for(int j = message_pred_list.Size()-1; j >= 0; j--) {
+ if(message_pred_list[j]->GetEvent()->GetEventID() == cell_events[i].GetEventID()) {
m_world->GetStats().RemoveMessagePredicate(message_pred_list[j]);
message_pred_list.RemoveAt(j);
- break;
}
}
cell_events.RemoveAt(i);
@@ -136,7 +135,7 @@
for(int i = 0; i < message_pred_list.Size(); i++) {
(*message_pred_list[i]).Reset();
}
-
+
for(int i = 0; i < GetSize(); i++) {
m_world->GetPopulation().GetCell(GetCellID(i)).SetCellData(0);
}
Modified: branches/energy/source/main/cStats.cc
===================================================================
--- branches/energy/source/main/cStats.cc 2007-10-24 03:34:18 UTC (rev 2152)
+++ branches/energy/source/main/cStats.cc 2007-10-24 13:30:48 UTC (rev 2153)
@@ -1220,8 +1220,8 @@
int rows = relative_pos_pred_sat.GetNumRows();
int cols = relative_pos_pred_sat.GetNumCols();
- for (int x = 0; x < cols; x++) {
- for (int y = 0; y < rows; y++) {
+ for (int x = 0; x < rows; x++) {
+ for (int y = 0; y < cols; y++) {
double data;
if(relative_pos_event_count.ElementAt(x,y) == 0) {
data = 0.0;
More information about the Avida-cvs
mailing list