[Avida-SVN] r2151 - in branches/collect: documentation/notes source/cpu source/main source/tools tests/avida_GA_lim_res tests/bgs_dyn_mutrates_births tests/bgs_dyn_mutrates_fit tests/bgs_dyn_mutrates_rank tests/default_classic_500u tests/default_transsmt_100u tests/demes_classic_torus tests/demes_clique_repl tests/demes_germline tests/demes_grid_repl tests/demes_hex_repl tests/demes_torus_repl tests/energy_asex_1000u tests/energy_deme_level_res tests/fitvalley_dynamic_mutrate tests/midrun_classsic_30u tests/optimize_multivar_lim_res tests/resources_9r tests/sex tests/sex-asex tests/sex-modular tests/spatial_res_100u tests/string_match_embed3
blwalker at myxo.css.msu.edu
blwalker at myxo.css.msu.edu
Tue Oct 23 20:05:21 PDT 2007
Author: blwalker
Date: 2007-10-23 23:05:21 -0400 (Tue, 23 Oct 2007)
New Revision: 2151
Added:
branches/collect/tests/avida_GA_lim_res/expected/
branches/collect/tests/bgs_dyn_mutrates_births/expected/
branches/collect/tests/bgs_dyn_mutrates_fit/expected/
branches/collect/tests/bgs_dyn_mutrates_rank/expected/
branches/collect/tests/default_classic_500u/expected/
branches/collect/tests/default_transsmt_100u/expected/
branches/collect/tests/demes_classic_torus/expected/
branches/collect/tests/demes_clique_repl/expected/
branches/collect/tests/demes_germline/expected/
branches/collect/tests/demes_grid_repl/expected/
branches/collect/tests/demes_hex_repl/expected/
branches/collect/tests/demes_torus_repl/expected/
branches/collect/tests/energy_asex_1000u/expected/
branches/collect/tests/energy_deme_level_res/expected/
branches/collect/tests/fitvalley_dynamic_mutrate/expected/
branches/collect/tests/midrun_classsic_30u/expected/
branches/collect/tests/optimize_multivar_lim_res/expected/
branches/collect/tests/resources_9r/expected/
branches/collect/tests/sex-asex/expected/
branches/collect/tests/sex-modular/expected/
branches/collect/tests/sex/expected/
branches/collect/tests/spatial_res_100u/expected/
branches/collect/tests/string_match_embed3/expected/
Modified:
branches/collect/documentation/notes/release-milestones.txt
branches/collect/source/cpu/cHardwareCPU.cc
branches/collect/source/cpu/cHardwareCPU.h
branches/collect/source/main/cTaskLib.cc
branches/collect/source/tools/cMerit.cc
branches/collect/source/tools/cMerit.h
Log:
Porting development 2042:2053 to collect branch.
Modified: branches/collect/documentation/notes/release-milestones.txt
===================================================================
--- branches/collect/documentation/notes/release-milestones.txt 2007-10-23 16:52:30 UTC (rev 2150)
+++ branches/collect/documentation/notes/release-milestones.txt 2007-10-24 03:05:21 UTC (rev 2151)
@@ -8,101 +8,60 @@
Visualized development/support timeline (* current):
---2.0--
- --2.1--
- --2.2----
- --2.3--
- --2.4-------------
- --2.5--
- --2.6-------------
- --2.7*-
- --2.8----------------------
- --2.9--
- --3.0-------------
-+ end of planned timeline, begin future releases +
- --3.1--
- --3.2-----------
- --3.3--
- --3.4-----------
- --3.5--
- --3.6--
+--2.6----
+ --2.7--
+ *-2.8----
+ --2.9--
+ --3.0----
+ --3.1--
+ --3.2----
+ --3.3--
+ --3.4----
+ --3.5--
+ --3.6----
+ --3.7--
+ --3.8----
+ --3.9--
+ --4.0----
-Version 2.0 - stable - Status: End of Life
-Version 2.1 - development - Status: Completed
-Version 2.2 - stable - Status: End of Life
-Version 2.3 - development - Status: Completed
-Version 2.4 - stable - Status: End of Life
-Version 2.5 - development - Status: Completed
+Version 2.6 - stable - Status: End of Life
+Version 2.7 - development - Status: Wrapping Up
+Version 2.8 - stable - Status: Pre-release preparation
+Version 2.9 - development - Target: August 2008 - Status: Soon
-Version 2.6 - stable - Target: < Mid 2007 - Status: Active Maintenance
+David:
+- Completed AvidaScript
+ - Merged 'avida' and 'avida-s' functionality
+- Cleanup Landscaping tools
++ Error reporting, input validation
-Currently at 2.6.0
-
-
-Version 2.7 - development - Target: July 2007 - Status: Active Development
-
-Dave B:
-+ Consistency test support
- * simplify development
- * automatic expected results
- * performance tests
- - documentation
-+ Consistency test coverage
- + mid-run (* classic, * transsmt)
- + analyze mode
-+ Transition all applicable output files to cDataFile objects, as opposed to raw ostream
-+ AvidaScript
- + lexer
- + parser
- - threaded driver, multiple executing worlds via 'avida-s'
-+ Cleanup Landscaping tools
-
-Ben:
-+ Energy model
-
Dave K:
- Topology manager
+ environment named regions
-? Group/Deme Framework
-Ofria:
-- Core GUI framework
+Charles:
+- Completed Viewers based on Core Viewer/GUI frameworks
-Art:
-+ his damn research
+Bess:
++ Consistency test coverage
-All:
-- Update documentation
-- Code release cleanup
-
-
-
-Version 2.8 - stable - Target: < Mid 2008 - Status: Planned, pending version 2.7 completion
-
-- Stable maintenance
-
-
-Version 2.9 - development - Target: July 2008 - Status: Planned
-
-- Completed AS language support
-- Remove Analyze Mode
-- Merged 'avida' and 'avida-s' functionality
+Unassigned:
- New Mutation framework
-- Basic OS X native GUI
-- Update documentation
-- Error reporting, input validation
- Schedulable object framework (organism threads scheduled rather than organisms, events, etc.)
- Serialization
+
+All:
+- Update documentation
- Code release cleanup
+
**** NOTE: Backwards compatibility breaks at this point ****
Version 3.0 - stable - Target: Ongoing - Status: Planned, pending version 2.9 completion
-- Stable maintenance
-
-
Version 3.1 - development - Target: tbd - Status: feature set tdb
+
+- Basic OS X native GUI
Modified: branches/collect/source/cpu/cHardwareCPU.cc
===================================================================
--- branches/collect/source/cpu/cHardwareCPU.cc 2007-10-23 16:52:30 UTC (rev 2150)
+++ branches/collect/source/cpu/cHardwareCPU.cc 2007-10-24 03:05:21 UTC (rev 2151)
@@ -307,6 +307,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),
@@ -2604,6 +2605,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: branches/collect/source/cpu/cHardwareCPU.h
===================================================================
--- branches/collect/source/cpu/cHardwareCPU.h 2007-10-23 16:52:30 UTC (rev 2150)
+++ branches/collect/source/cpu/cHardwareCPU.h 2007-10-24 03:05:21 UTC (rev 2151)
@@ -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);
Modified: branches/collect/source/main/cTaskLib.cc
===================================================================
--- branches/collect/source/main/cTaskLib.cc 2007-10-23 16:52:30 UTC (rev 2150)
+++ branches/collect/source/main/cTaskLib.cc 2007-10-24 03:05:21 UTC (rev 2151)
@@ -2168,7 +2168,6 @@
// if the org hasn't output yet enough numbers, just return without completing any tasks
if (ctx.GetOutputBuffer().GetNumStored() < ctx.GetOutputBuffer().GetCapacity()) return 0;
-
double quality = 0.0;
const cArgContainer& args = ctx.GetTaskEntry()->GetArguments();
@@ -2287,6 +2286,21 @@
break;
}
+ case 12:
+ {
+ vars[0] = vars[0]*.9+.1;
+ Fx = vars[0];
+ break;
+ }
+
+ case 13:
+ {
+ vars[0] = vars[0]*.9+.1;
+ vars[1] = vars[1]*5;
+ Fx = (1+vars[1])/vars[0];
+ break;
+ }
+
default:
quality = .001;
}
Modified: branches/collect/source/tools/cMerit.cc
===================================================================
--- branches/collect/source/tools/cMerit.cc 2007-10-23 16:52:30 UTC (rev 2150)
+++ branches/collect/source/tools/cMerit.cc 2007-10-24 03:05:21 UTC (rev 2151)
@@ -16,21 +16,19 @@
void cMerit::UpdateValue(double in_value)
{
- const int max_bits = sizeof(unsigned int)*8;
- static double mult[max_bits];
- static bool mult_initilalized = false;
+ static const int max_bits = sizeof(unsigned int) * 8;
+ struct sExponentMultiplier
+ {
+ double mult[max_bits + 1];
+ sExponentMultiplier() { for (int i = 0; i <= max_bits; i++) mult[i] = pow(2.0, i - 1); }
+ };
+ static sExponentMultiplier exp;
+
// Do not allow negative merits. If less than 1, set to 0.
if (in_value < 1.0) in_value = 0.0;
- // Initilize multipliers only once
- if (mult_initilalized == false) {
- mult_initilalized = true;
- for (int i = 0; i < max_bits; ++i) mult[i] = pow(2.0, i);
- }
-
value = in_value;
-
double mant = frexp(value, &bits);
if (bits > max_bits)
@@ -38,7 +36,7 @@
else
offset = 0;
- base = static_cast<unsigned int>(mant * mult[bits-offset-1] * 2);
+ base = static_cast<unsigned int>(mant * exp.mult[bits - offset] * 2.0);
}
Modified: branches/collect/source/tools/cMerit.h
===================================================================
--- branches/collect/source/tools/cMerit.h 2007-10-23 16:52:30 UTC (rev 2150)
+++ branches/collect/source/tools/cMerit.h 2007-10-24 03:05:21 UTC (rev 2151)
@@ -98,7 +98,7 @@
static double EnergyToMerit(const double orgEnergy, cWorld* m_world);
- std::ostream& BinaryPrint(std::ostream& os = std::cout) const ;
+ std::ostream& BinaryPrint(std::ostream& os = std::cout) const;
};
Copied: branches/collect/tests/avida_GA_lim_res/expected (from rev 2043, development/tests/avida_GA_lim_res/expected)
Copied: branches/collect/tests/bgs_dyn_mutrates_births/expected (from rev 2043, development/tests/bgs_dyn_mutrates_births/expected)
Copied: branches/collect/tests/bgs_dyn_mutrates_fit/expected (from rev 2043, development/tests/bgs_dyn_mutrates_fit/expected)
Copied: branches/collect/tests/bgs_dyn_mutrates_rank/expected (from rev 2043, development/tests/bgs_dyn_mutrates_rank/expected)
Copied: branches/collect/tests/default_classic_500u/expected (from rev 2043, development/tests/default_classic_500u/expected)
Copied: branches/collect/tests/default_transsmt_100u/expected (from rev 2043, development/tests/default_transsmt_100u/expected)
Copied: branches/collect/tests/demes_classic_torus/expected (from rev 2043, development/tests/demes_classic_torus/expected)
Copied: branches/collect/tests/demes_clique_repl/expected (from rev 2043, development/tests/demes_clique_repl/expected)
Copied: branches/collect/tests/demes_germline/expected (from rev 2043, development/tests/demes_germline/expected)
Copied: branches/collect/tests/demes_grid_repl/expected (from rev 2043, development/tests/demes_grid_repl/expected)
Copied: branches/collect/tests/demes_hex_repl/expected (from rev 2043, development/tests/demes_hex_repl/expected)
Copied: branches/collect/tests/demes_torus_repl/expected (from rev 2043, development/tests/demes_torus_repl/expected)
Copied: branches/collect/tests/energy_asex_1000u/expected (from rev 2043, development/tests/energy_asex_1000u/expected)
Copied: branches/collect/tests/energy_deme_level_res/expected (from rev 2043, development/tests/energy_deme_level_res/expected)
Copied: branches/collect/tests/fitvalley_dynamic_mutrate/expected (from rev 2043, development/tests/fitvalley_dynamic_mutrate/expected)
Copied: branches/collect/tests/midrun_classsic_30u/expected (from rev 2043, development/tests/midrun_classsic_30u/expected)
Copied: branches/collect/tests/optimize_multivar_lim_res/expected (from rev 2043, development/tests/optimize_multivar_lim_res/expected)
Copied: branches/collect/tests/resources_9r/expected (from rev 2043, development/tests/resources_9r/expected)
Copied: branches/collect/tests/sex/expected (from rev 2043, development/tests/sex/expected)
Copied: branches/collect/tests/sex-asex/expected (from rev 2043, development/tests/sex-asex/expected)
Copied: branches/collect/tests/sex-modular/expected (from rev 2043, development/tests/sex-modular/expected)
Copied: branches/collect/tests/spatial_res_100u/expected (from rev 2043, development/tests/spatial_res_100u/expected)
Copied: branches/collect/tests/string_match_embed3/expected (from rev 2043, development/tests/string_match_embed3/expected)
More information about the Avida-cvs
mailing list