[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