[Avida-SVN] r1420 - branches/collect/source/main
blwalker at myxo.css.msu.edu
blwalker at myxo.css.msu.edu
Wed Mar 21 20:08:38 PDT 2007
Author: blwalker
Date: 2007-03-21 23:08:37 -0400 (Wed, 21 Mar 2007)
New Revision: 1420
Modified:
branches/collect/source/main/cEnvironment.cc
branches/collect/source/main/cReactionResult.cc
branches/collect/source/main/cReactionResult.h
Log:
changed cReactionResult::Consume() to take an extra argument. This is a boolean flag to tell Consume whether the resource was environmental (normal Avida) or from an organism's internal resource bin.
added the new argument to the call of Consume() in cEnvironment::DoProcesses(). Compilation proceeds without a problem; I conclude that Consume() is not called anywhere else so I don't need to do other modifications.
Modified: branches/collect/source/main/cEnvironment.cc
===================================================================
--- branches/collect/source/main/cEnvironment.cc 2007-03-21 18:25:49 UTC (rev 1419)
+++ branches/collect/source/main/cEnvironment.cc 2007-03-22 03:08:37 UTC (rev 1420)
@@ -832,7 +832,7 @@
// Mark this task as performed...
result.MarkTask(task_id, task_quality);
- // And lets process it!
+ // And let's process it!
DoProcesses(ctx, cur_reaction->GetProcesses(), resource_count, task_quality, task_cnt, i, result);
// Mark this reaction as occuring...
@@ -931,6 +931,7 @@
consumed *= cur_process->GetMaxFraction();
// @blw TODO check for internal use here; set flag
+ bool using_rbins = false;
// Make sure we're not above the maximum consumption.
if (consumed > max_consumed) consumed = max_consumed;
@@ -944,8 +945,7 @@
if (consumed == 0.0) continue;
// Mark in the results the resource consumed.
- // @blw TODO needs an extra bool flag to say whether consumed is internal or external
- result.Consume(res_id, consumed);
+ result.Consume(res_id, consumed, !using_rbins);
}
// Calculate the bonus
Modified: branches/collect/source/main/cReactionResult.cc
===================================================================
--- branches/collect/source/main/cReactionResult.cc 2007-03-21 18:25:49 UTC (rev 1419)
+++ branches/collect/source/main/cReactionResult.cc 2007-03-22 03:08:37 UTC (rev 1420)
@@ -63,10 +63,10 @@
}
-void cReactionResult::Consume(int id, double num)
+void cReactionResult::Consume(int id, double num, bool is_env_resource)
{
ActivateReaction();
- resources_consumed[id] += num;
+ if(is_env_resource) {resources_consumed[id] += num;}
}
Modified: branches/collect/source/main/cReactionResult.h
===================================================================
--- branches/collect/source/main/cReactionResult.h 2007-03-21 18:25:49 UTC (rev 1419)
+++ branches/collect/source/main/cReactionResult.h 2007-03-22 03:08:37 UTC (rev 1420)
@@ -57,7 +57,7 @@
bool GetActive() { return active_reaction; }
- void Consume(int id, double num);
+ void Consume(int id, double num, bool is_env_resource);
void Produce(int id, double num);
void Detect(int id, double num);
void Lethal(bool flag);
More information about the Avida-cvs
mailing list