[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