[Avida-SVN] r2046 - development/source/cpu

goingssh at myxo.css.msu.edu goingssh at myxo.css.msu.edu
Wed Sep 5 12:52:52 PDT 2007


Author: goingssh
Date: 2007-09-05 15:52:52 -0400 (Wed, 05 Sep 2007)
New Revision: 2046

Modified:
   development/source/cpu/cHardwareCPU.cc
   development/source/cpu/cHardwareCPU.h
Log:
added repro-sex inst to execute repro using sex


Modified: development/source/cpu/cHardwareCPU.cc
===================================================================
--- development/source/cpu/cHardwareCPU.cc	2007-09-05 19:33:53 UTC (rev 2045)
+++ development/source/cpu/cHardwareCPU.cc	2007-09-05 19:52:52 UTC (rev 2046)
@@ -304,6 +304,7 @@
     
     // High-level instructions
     tInstLibEntry<tMethod>("repro", &cHardwareCPU::Inst_Repro),
+    tInstLibEntry<tMethod>("repro-sex", &cHardwareCPU::Inst_ReproSex),
     tInstLibEntry<tMethod>("repro-A", &cHardwareCPU::Inst_Repro),
     tInstLibEntry<tMethod>("repro-B", &cHardwareCPU::Inst_Repro),
     tInstLibEntry<tMethod>("repro-C", &cHardwareCPU::Inst_Repro),
@@ -2594,6 +2595,13 @@
   return true;
 }
 
+bool cHardwareCPU::Inst_ReproSex(cAvidaContext& ctx)
+{
+  organism->GetPhenotype().SetDivideSex(true);
+  organism->GetPhenotype().SetCrossNum(1);
+  return Inst_Repro(ctx);
+}
+
 bool cHardwareCPU::Inst_TaskPutRepro(cAvidaContext& ctx)
 {
   // Do normal IO, but don't zero register

Modified: development/source/cpu/cHardwareCPU.h
===================================================================
--- development/source/cpu/cHardwareCPU.h	2007-09-05 19:33:53 UTC (rev 2045)
+++ development/source/cpu/cHardwareCPU.h	2007-09-05 19:52:52 UTC (rev 2046)
@@ -411,6 +411,7 @@
   bool Inst_InjectThread(cAvidaContext& ctx);
   bool Inst_Transposon(cAvidaContext& ctx);
   bool Inst_Repro(cAvidaContext& ctx);
+  bool Inst_ReproSex(cAvidaContext& ctx);
   bool Inst_TaskPutRepro(cAvidaContext& ctx);
   bool Inst_TaskPutResetInputsRepro(cAvidaContext& ctx);
   bool Inst_Sterilize(cAvidaContext& ctx);




More information about the Avida-cvs mailing list