[Avida-SVN] r1710 - development/source/main

barrick at myxo.css.msu.edu barrick at myxo.css.msu.edu
Sat Jun 23 08:54:42 PDT 2007


Author: barrick
Date: 2007-06-23 11:54:42 -0400 (Sat, 23 Jun 2007)
New Revision: 1710

Modified:
   development/source/main/cMutationRates.h
Log:
Getting an extra random number in a core function is a good way to break consistency. Fixed slip mutations to not do this by default.


Modified: development/source/main/cMutationRates.h
===================================================================
--- development/source/main/cMutationRates.h	2007-06-23 13:42:30 UTC (rev 1709)
+++ development/source/main/cMutationRates.h	2007-06-23 15:54:42 UTC (rev 1710)
@@ -98,7 +98,10 @@
   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); }
-  bool TestDivideSlip(cAvidaContext& ctx) const { return ctx.GetRandom().P(divide.divide_slip_prob); }
+  bool TestDivideSlip(cAvidaContext& ctx) const { return (divide.divide_slip_prob == 0.0) ? 0 : ctx.GetRandom().P(divide.divide_slip_prob); }
+  //bool TestDivideSlip(cAvidaContext& ctx) const { return ctx.GetRandom().P(divide.divide_slip_prob); }
+    // @JEB The conditional just avoids calling for a random number to maintain consistency with past versions.
+    // It can be cleaned up in the future.
   bool TestParentMut(cAvidaContext& ctx) const { return ctx.GetRandom().P(divide.parent_mut_prob); }
   double DoMetaCopyMut(cAvidaContext& ctx) {
     if (ctx.GetRandom().P(meta.copy_mut_prob) == false) return 1.0;




More information about the Avida-cvs mailing list