[Avida-cvs] [avida-svn] r806 - in development: Avida.xcodeproj source/analyze source/main source/targets/avida source/targets/avida-viewer

brysonda@myxo.css.msu.edu brysonda at myxo.css.msu.edu
Thu Jul 6 11:55:50 PDT 2006


Author: brysonda
Date: 2006-07-06 14:55:50 -0400 (Thu, 06 Jul 2006)
New Revision: 806

Added:
   development/source/analyze/cMutationalNeighborhood.cc
   development/source/analyze/cMutationalNeighborhood.h
   development/source/analyze/cMutationalNeighborhoodResults.h
Removed:
   development/source/main/cMutationalNeighborhood.cc
   development/source/main/cMutationalNeighborhood.h
   development/source/main/cMutationalNeighborhoodResults.h
Modified:
   development/Avida.xcodeproj/project.pbxproj
   development/source/analyze/CMakeLists.txt
   development/source/analyze/SConscript
   development/source/main/CMakeLists.txt
   development/source/main/SConscript
   development/source/targets/avida-viewer/CMakeLists.txt
   development/source/targets/avida-viewer/SConscript
   development/source/targets/avida/CMakeLists.txt
   development/source/targets/avida/SConscript
Log:
Move cMutationalNeighborhood into analyze, as it is really an analysis class (and depends upon the analyze job queue).

Modified: development/Avida.xcodeproj/project.pbxproj
===================================================================
--- development/Avida.xcodeproj/project.pbxproj	2006-07-06 18:34:37 UTC (rev 805)
+++ development/Avida.xcodeproj/project.pbxproj	2006-07-06 18:55:50 UTC (rev 806)
@@ -92,6 +92,9 @@
 		708051BC0A1F66B400CBB8B6 /* cActionLibrary.cc in Sources */ = {isa = PBXBuildFile; fileRef = 708051BA0A1F66B400CBB8B6 /* cActionLibrary.cc */; };
 		708051BD0A1F66B400CBB8B6 /* cActionLibrary.cc in Sources */ = {isa = PBXBuildFile; fileRef = 708051BA0A1F66B400CBB8B6 /* cActionLibrary.cc */; };
 		709A09D409F3D3B400F9A4BF /* organism.smtx in CopyFiles */ = {isa = PBXBuildFile; fileRef = 707AF2F909EE8501001AEA89 /* organism.smtx */; };
+		709D924C0A5D950D00D6A163 /* cMutationalNeighborhood.cc in Sources */ = {isa = PBXBuildFile; fileRef = 709D924B0A5D950D00D6A163 /* cMutationalNeighborhood.cc */; };
+		709D924D0A5D950E00D6A163 /* cMutationalNeighborhood.cc in Sources */ = {isa = PBXBuildFile; fileRef = 709D924B0A5D950D00D6A163 /* cMutationalNeighborhood.cc */; };
+		709D924E0A5D950E00D6A163 /* cMutationalNeighborhood.cc in Sources */ = {isa = PBXBuildFile; fileRef = 709D924B0A5D950D00D6A163 /* cMutationalNeighborhood.cc */; };
 		70AA941A09D486CA006A24C8 /* system-alloc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70DCF50209CFB0B400924128 /* system-alloc.cc */; };
 		70AA941B09D486CB006A24C8 /* tcmalloc-logging.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70DCF57F09CFBD3D00924128 /* tcmalloc-logging.cc */; };
 		70AA941C09D486CD006A24C8 /* tcmalloc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70DCF56309CFBB9500924128 /* tcmalloc.cc */; };
@@ -191,7 +194,6 @@
 		70C054F80A4F704D002703C1 /* PopulationActions.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70C054C90A4F6E19002703C1 /* PopulationActions.cc */; };
 		70C054F90A4F704E002703C1 /* SaveLoadActions.cc in Sources */ = {isa = PBXBuildFile; fileRef = 708051A80A1F65FE00CBB8B6 /* SaveLoadActions.cc */; };
 		70C054FA0A4F7053002703C1 /* PopulationActions.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70C054C90A4F6E19002703C1 /* PopulationActions.cc */; };
-		70C0557D0A50C587002703C1 /* cMutationalNeighborhood.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70C0557A0A50C57E002703C1 /* cMutationalNeighborhood.cc */; };
 		70C1EF4808C393BA00F50912 /* cCodeLabel.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70C1EF4608C393BA00F50912 /* cCodeLabel.cc */; };
 		70C1EF4A08C393BA00F50912 /* cCodeLabel.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70C1EF4608C393BA00F50912 /* cCodeLabel.cc */; };
 		70C1EF5908C3948C00F50912 /* cCPUMemory.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70C1EF5808C3948C00F50912 /* cCPUMemory.cc */; };
@@ -599,6 +601,9 @@
 		708051A80A1F65FE00CBB8B6 /* SaveLoadActions.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SaveLoadActions.cc; sourceTree = "<group>"; };
 		708051BA0A1F66B400CBB8B6 /* cActionLibrary.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cActionLibrary.cc; sourceTree = "<group>"; };
 		7093DB4009D6F50300DE7FEB /* tSmartArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tSmartArray.h; sourceTree = "<group>"; };
+		709D92490A5D94FD00D6A163 /* cMutationalNeighborhood.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cMutationalNeighborhood.h; sourceTree = "<group>"; };
+		709D924A0A5D94FD00D6A163 /* cMutationalNeighborhoodResults.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cMutationalNeighborhoodResults.h; sourceTree = "<group>"; };
+		709D924B0A5D950D00D6A163 /* cMutationalNeighborhood.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = cMutationalNeighborhood.cc; sourceTree = "<group>"; };
 		70AA941909D486AE006A24C8 /* libtcmalloc.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libtcmalloc.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		70B0864808F4972600FC65FE /* cLandscape.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cLandscape.h; sourceTree = "<group>"; };
 		70B0864B08F4972600FC65FE /* cLocalMutations.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cLocalMutations.h; sourceTree = "<group>"; };
@@ -748,9 +753,6 @@
 		70C054F50A4F701B002703C1 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SConscript; sourceTree = "<group>"; };
 		70C054F60A4F7030002703C1 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SConscript; sourceTree = "<group>"; };
 		70C054F70A4F703D002703C1 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SConscript; sourceTree = "<group>"; };
-		70C0557A0A50C57E002703C1 /* cMutationalNeighborhood.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = cMutationalNeighborhood.cc; sourceTree = "<group>"; };
-		70C0557B0A50C57E002703C1 /* cMutationalNeighborhood.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cMutationalNeighborhood.h; sourceTree = "<group>"; };
-		70C0557C0A50C57E002703C1 /* cMutationalNeighborhoodResults.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cMutationalNeighborhoodResults.h; sourceTree = "<group>"; };
 		70C1EF4608C393BA00F50912 /* cCodeLabel.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = cCodeLabel.cc; sourceTree = "<group>"; };
 		70C1EF4708C393BA00F50912 /* cCodeLabel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cCodeLabel.h; sourceTree = "<group>"; };
 		70C1EF5808C3948C00F50912 /* cCPUMemory.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = cCPUMemory.cc; sourceTree = "<group>"; };
@@ -998,6 +1000,9 @@
 		70422A1B091B141000A5E67F /* analyze */ = {
 			isa = PBXGroup;
 			children = (
+				709D924B0A5D950D00D6A163 /* cMutationalNeighborhood.cc */,
+				709D92490A5D94FD00D6A163 /* cMutationalNeighborhood.h */,
+				709D924A0A5D94FD00D6A163 /* cMutationalNeighborhoodResults.h */,
 				70C054F50A4F701B002703C1 /* SConscript */,
 				70F7DE76092967A8009E311D /* cGenotypeBatch.h */,
 				70422A44091B1B8500A5E67F /* CMakeLists.txt */,
@@ -1379,9 +1384,6 @@
 		DCC310040762539D008F7A48 /* main */ = {
 			isa = PBXGroup;
 			children = (
-				70C0557A0A50C57E002703C1 /* cMutationalNeighborhood.cc */,
-				70C0557B0A50C57E002703C1 /* cMutationalNeighborhood.h */,
-				70C0557C0A50C57E002703C1 /* cMutationalNeighborhoodResults.h */,
 				703CA36F0A5072B700AB4DB4 /* SConscript */,
 				DCC3109C0762539E008F7A48 /* avida.cc */,
 				70B086BE08F5D86100FC65FE /* avida.h */,
@@ -1981,6 +1983,7 @@
 				708051BD0A1F66B400CBB8B6 /* cActionLibrary.cc in Sources */,
 				E626209E0A372C2A00C07685 /* SaveLoadActions.cc in Sources */,
 				70C054FA0A4F7053002703C1 /* PopulationActions.cc in Sources */,
+				709D924E0A5D950E00D6A163 /* cMutationalNeighborhood.cc in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2113,6 +2116,7 @@
 				708051BC0A1F66B400CBB8B6 /* cActionLibrary.cc in Sources */,
 				70C054F80A4F704D002703C1 /* PopulationActions.cc in Sources */,
 				70C054F90A4F704E002703C1 /* SaveLoadActions.cc in Sources */,
+				709D924D0A5D950E00D6A163 /* cMutationalNeighborhood.cc in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2226,7 +2230,7 @@
 				708051B20A1F663100CBB8B6 /* SaveLoadActions.cc in Sources */,
 				708051BB0A1F66B400CBB8B6 /* cActionLibrary.cc in Sources */,
 				70C054ED0A4F6FD2002703C1 /* PopulationActions.cc in Sources */,
-				70C0557D0A50C587002703C1 /* cMutationalNeighborhood.cc in Sources */,
+				709D924C0A5D950D00D6A163 /* cMutationalNeighborhood.cc in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

Modified: development/source/analyze/CMakeLists.txt
===================================================================
--- development/source/analyze/CMakeLists.txt	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/analyze/CMakeLists.txt	2006-07-06 18:55:50 UTC (rev 806)
@@ -6,6 +6,7 @@
   cAnalyzeUtil.cc
   cAnalyzeJobQueue.cc
   cAnalyzeJobWorker.cc
+  cMutationalNeighborhood.cc
 )
 
 ADD_LIBRARY(analyze ${libanalyze_a_SOURCES})

Modified: development/source/analyze/SConscript
===================================================================
--- development/source/analyze/SConscript	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/analyze/SConscript	2006-07-06 18:55:50 UTC (rev 806)
@@ -9,6 +9,7 @@
   'cAnalyzeUtil.cc',
   'cAnalyzeJobQueue.cc',
   'cAnalyzeJobWorker.cc',
+  'cMutationalNeighborhood.cc'
 ]
 
 hdrs = [
@@ -26,6 +27,8 @@
   'cAnalyzeJobWorker.h',
   'cAnalyzeUtil.h',
   'cGenotypeBatch.h',
+  'cMutationalNeighborhood.h',
+  'cMutationalNeighborhoodResults.h',
   'tAnalyzeJob.h',
 ]
 

Copied: development/source/analyze/cMutationalNeighborhood.cc (from rev 803, development/source/main/cMutationalNeighborhood.cc)

Copied: development/source/analyze/cMutationalNeighborhood.h (from rev 803, development/source/main/cMutationalNeighborhood.h)

Copied: development/source/analyze/cMutationalNeighborhoodResults.h (from rev 803, development/source/main/cMutationalNeighborhoodResults.h)

Modified: development/source/main/CMakeLists.txt
===================================================================
--- development/source/main/CMakeLists.txt	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/main/CMakeLists.txt	2006-07-06 18:55:50 UTC (rev 806)
@@ -13,7 +13,6 @@
   cInstUtil.cc
   cLandscape.cc
   cLocalMutations.cc
-  cMutationalNeighborhood.cc
   cMutationLib.cc
   cMutationRates.cc
   cMxCodeArray.cc

Modified: development/source/main/SConscript
===================================================================
--- development/source/main/SConscript	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/main/SConscript	2006-07-06 18:55:50 UTC (rev 806)
@@ -20,8 +20,6 @@
   'cLandscape.h',
   'cLocalMutations.h',
   'cMutation.h',
-  'cMutationalNeighborhood.h',
-  'cMutationalNeighborhoodResults.h',
   'cMutationLib.h',
   'cMutationRates.h',
   'cMxCodeArray.h',
@@ -69,7 +67,6 @@
   'cInstUtil.cc',
   'cLandscape.cc',
   'cLocalMutations.cc',
-  'cMutationalNeighborhood.cc',
   'cMutationLib.cc',
   'cMutationRates.cc',
   'cMxCodeArray.cc',

Deleted: development/source/main/cMutationalNeighborhood.cc
===================================================================
--- development/source/main/cMutationalNeighborhood.cc	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/main/cMutationalNeighborhood.cc	2006-07-06 18:55:50 UTC (rev 806)
@@ -1,427 +0,0 @@
-/*
- *  cMutationalNeighborhood.cc
- *  Avida
- *
- *  Created by David on 6/13/06.
- *  Copyright 2006 Michigan State University. All rights reserved.
- *
- */
-
-#include "cMutationalNeighborhood.h"
-
-#include "cAnalyze.h"
-#include "cAnalyzeJobQueue.h"
-#include "cCPUTestInfo.h"
-#include "cCPUMemory.h"
-#include "cEnvironment.h"
-#include "cInstSet.h"
-#include "cHardwareManager.h"
-#include "cOrganism.h"
-#include "cPhenotype.h"
-#include "cStats.h"             // For GetUpdate in outputs...
-#include "cTestCPU.h"
-#include "cTestUtil.h"
-#include "cTools.h"
-#include "cWorld.h"
-#include "tAnalyzeJob.h"
-
-using namespace std;
-
-
-void cMutationalNeighborhood::Process(cAvidaContext& ctx)
-{
-  pthread_mutex_lock(&m_mutex);
-  if (m_initialized) {
-    int cur_site = m_cur_site++;
-    pthread_mutex_unlock(&m_mutex);
-
-    if (cur_site < m_base_genome.GetSize()) {
-      // Create test infrastructure
-      cTestCPU* testcpu = m_world->GetHardwareManager().CreateTestCPU();
-      cCPUTestInfo test_info;
-      
-      // Setup One Step Data
-      sStep& odata = m_onestep[cur_site];
-      odata.peak_fitness = m_base_fitness;
-      odata.peak_genome = m_base_genome;
-      odata.site_count.Resize(m_base_genome.GetSize(), 0);
-
-      // Setup Data Used in Two Step
-      sStep& tdata = m_twostep[cur_site];
-      tdata.peak_fitness = m_base_fitness;
-      tdata.peak_genome = m_base_genome;
-      tdata.site_count.Resize(m_base_genome.GetSize(), 0);
-
-      // Do the processing, starting with One Step
-      ProcessOneStep(ctx, testcpu, test_info, cur_site);
-
-      // Cleanup
-      delete testcpu;
-    }
-  } else {
-    ProcessInitialize(ctx);
-    return;
-  }
-  
-  pthread_mutex_lock(&m_mutex);
-  if (++m_completed == m_base_genome.GetSize()) ProcessComplete(ctx); 
-  pthread_mutex_unlock(&m_mutex);
-}
-
-
-void cMutationalNeighborhood::ProcessInitialize(cAvidaContext& ctx)
-{
-  // Generate base information
-  cTestCPU* testcpu = m_world->GetHardwareManager().CreateTestCPU();
-  cCPUTestInfo test_info;
-  testcpu->TestGenome(ctx, test_info, m_base_genome);
-  
-  cPhenotype& phenotype = test_info.GetColonyOrganism()->GetPhenotype();
-  m_base_fitness = test_info.GetColonyFitness();
-  m_base_merit = phenotype.GetMerit().GetDouble();
-  m_base_gestation = phenotype.GetGestationTime();
-  m_base_tasks = phenotype.GetLastTaskCount();
-  
-  m_neut_min = m_base_fitness * nHardware::FITNESS_NEUTRAL_MIN;
-  m_neut_max = m_base_fitness * nHardware::FITNESS_NEUTRAL_MAX;
-  
-  // If invalid target supplied, set to the last task
-  if (m_target >= m_base_tasks.GetSize() || m_target < 0) m_target = m_base_tasks.GetSize() - 1;
-  
-  delete testcpu;
-
-  // Setup state to begin processing
-  m_onestep.ResizeClear(m_base_genome.GetSize());
-  m_twostep.ResizeClear(m_base_genome.GetSize());
-  m_fitness.ResizeClear(m_base_genome.GetSize(), m_inst_set.GetSize());
-  
-  m_cur_site = 0;
-  m_completed = 0;
-  m_initialized = true;
-  
-  // Unlock internal mutex (was locked on Process() entrance)
-  //  - will allow workers to begin processing if job queue already active
-  pthread_mutex_unlock(&m_mutex);
-  
-  // Load enough jobs to process all sites
-  cAnalyzeJobQueue& jobqueue = m_world->GetAnalyze().GetJobQueue();
-  for (int i = 0; i < m_base_genome.GetSize(); i++)
-    jobqueue.AddJob(new tAnalyzeJob<cMutationalNeighborhood>(this, &cMutationalNeighborhood::Process));
-  
-  jobqueue.Start();
-}
-
-
-void cMutationalNeighborhood::ProcessOneStep(cAvidaContext& ctx, cTestCPU* testcpu, cCPUTestInfo& test_info, int cur_site)
-{
-  const int inst_size = m_inst_set.GetSize();
-  sStep& odata = m_onestep[cur_site];
-  
-  cGenome mod_genome(m_base_genome);
-  
-  // Loop through all the lines of genome, testing trying all combinations.
-  int cur_inst = mod_genome[cur_site].GetOp();
-  
-  // Fill in unmutated entry in fitness table with base fitness
-  m_fitness[cur_site][cur_inst] = m_base_fitness;
-  
-  // Loop through all instructions...
-  for (int inst_num = 0; inst_num < inst_size; inst_num++) {
-    if (cur_inst == inst_num) continue;
-    
-    mod_genome[cur_site].SetOp(inst_num);
-    testcpu->TestGenome(ctx, test_info, mod_genome);
-    
-    double test_fitness = test_info.GetColonyFitness();
-    
-    odata.total_fitness += test_fitness;
-    odata.total_sqr_fitness += test_fitness * test_fitness;
-    odata.total++;
-    if (test_fitness == 0.0) {
-      odata.dead++;
-    } else if (test_fitness < m_neut_min) {
-      odata.neg++;
-      odata.size_neg += test_fitness;
-    } else if (test_fitness <= m_neut_max) {
-      odata.neut++;
-    } else {
-      odata.pos++;
-      odata.size_pos += test_fitness;
-      if (test_fitness > odata.peak_fitness) {
-        odata.peak_fitness = test_fitness;
-        odata.peak_genome = mod_genome;
-      }
-    }
-    
-    if (test_fitness >= m_neut_min) odata.site_count[cur_site]++;
-    
-    m_fitness[cur_site][cur_inst] = test_fitness;
-
-    const tArray<int>& cur_tasks = test_info.GetColonyOrganism()->GetPhenotype().GetLastTaskCount();    
-    bool knockout = false;
-    bool anytask = false;
-    for (int i = 0; i < m_base_tasks.GetSize(); i++) {
-      if (m_base_tasks[i] && !cur_tasks[i]) knockout = true;
-      else if (!m_base_tasks[i] && cur_tasks[i]) anytask = true;
-    }
-    if (knockout) odata.task_knockout++;
-    if (anytask) odata.task_total++;
-    if (m_base_tasks.GetSize() && !m_base_tasks[m_target] && cur_tasks[m_target]) odata.task_target++;
-
-    ProcessTwoStep(ctx, testcpu, test_info, cur_site, mod_genome);
-  }
-}
-
-void cMutationalNeighborhood::ProcessTwoStep(cAvidaContext& ctx, cTestCPU* testcpu, cCPUTestInfo& test_info, int cur_site, cGenome& mod_genome)
-{
-  const int inst_size = m_inst_set.GetSize();
-  sStep& tdata = m_twostep[cur_site];
-
-  // Loop through remaining lines of genome, testing trying all combinations.
-  for (int line_num = cur_site + 1; line_num < m_base_genome.GetSize(); line_num++) {
-    int cur_inst = mod_genome[line_num].GetOp();
-    
-    // Loop through all instructions...
-    for (int inst_num = 0; inst_num < inst_size; inst_num++) {
-      if (cur_inst == inst_num) continue;
-      
-      mod_genome[line_num].SetOp(inst_num);
-      testcpu->TestGenome(ctx, test_info, mod_genome);
-      
-      double test_fitness = test_info.GetColonyFitness();
-      
-      tdata.total_fitness += test_fitness;
-      tdata.total_sqr_fitness += test_fitness * test_fitness;
-      tdata.total++;
-      if (test_fitness == 0.0) {
-        tdata.dead++;
-      } else if (test_fitness < m_neut_min) {
-        tdata.neg++;
-        tdata.size_neg += test_fitness;
-      } else if (test_fitness <= m_neut_max) {
-        tdata.neut++;
-      } else {
-        tdata.pos++;
-        tdata.size_pos += test_fitness;
-        if (test_fitness > tdata.peak_fitness) {
-          tdata.peak_fitness = test_fitness;
-          tdata.peak_genome = mod_genome;
-        }
-      }
-      
-      if (test_fitness >= m_neut_min) tdata.site_count[line_num]++;
-      
-      const tArray<int>& cur_tasks = test_info.GetColonyOrganism()->GetPhenotype().GetLastTaskCount();    
-      bool knockout = false;
-      bool anytask = false;
-      for (int i = 0; i < m_base_tasks.GetSize(); i++) {
-        if (m_base_tasks[i] && !cur_tasks[i]) knockout = true;
-        else if (!m_base_tasks[i] && cur_tasks[i]) anytask = true;
-      }
-      if (knockout) tdata.task_knockout++;
-      if (anytask) tdata.task_total++;
-      if (m_base_tasks.GetSize() && !m_base_tasks[m_target] && cur_tasks[m_target]) {
-        tdata.task_target++;
-        // Push both instructions as possible first mutations, for post determination of relative fitness
-        m_pending.Push(new sPendingTarget(cur_site, mod_genome[cur_site].GetOp()));
-        m_pending.Push(new sPendingTarget(line_num, inst_num));
-      }
-      
-    }
-    
-    mod_genome[line_num].SetOp(cur_inst);
-  }
-}
-
-
-void cMutationalNeighborhood::ProcessComplete(cAvidaContext& ctx)
-{
-  // Initialize values
-  m_o_total = 0;
-  m_o_total_sqr_fitness = 0.0;
-  m_o_dead = 0;
-  m_o_neg = 0;
-  m_o_neut = 0;
-  m_o_pos = 0;
-  m_o_size_pos = 0.0;
-  m_o_size_neg = 0.0;
-  m_o_peak_fitness = m_base_fitness;
-  m_o_peak_genome = m_base_genome;  
-  m_o_site_count.Resize(m_base_genome.GetSize(), 0);
-  m_o_total_entropy = 0;
-  m_o_task_target = 0;
-  m_o_task_total = 0;
-  m_o_task_knockout = 0;
-
-  for (int i = 0; i < m_onestep.GetSize(); i++) {
-    sStep& odata = m_onestep[i];
-    m_o_total += odata.total;
-    m_o_total_fitness += odata.total_fitness;
-    m_o_total_sqr_fitness += odata.total_sqr_fitness;
-    m_o_dead += odata.dead;
-    m_o_neg += odata.neg;
-    m_o_neut += odata.neut;
-    m_o_pos += odata.pos;
-    m_o_size_pos += odata.size_pos; 
-    m_o_size_neg += odata.size_neg; 
-  
-    if (odata.peak_fitness > m_o_peak_fitness) {
-      m_o_peak_genome = odata.peak_genome;
-      m_o_peak_fitness = odata.peak_fitness;
-    }
-  
-  
-    for (int j = 0; j < m_o_site_count.GetSize(); j++) {
-      m_o_site_count[j] += odata.site_count[j];
-    }
-      
-    m_o_task_target += odata.task_target;
-    m_o_task_total += odata.task_total;
-    m_o_task_knockout += odata.task_knockout;
-  }
-  
-  const double max_ent = log(static_cast<double>(m_inst_set.GetSize()));
-  for (int i = 0; i < m_base_genome.GetSize(); i++) {
-    // Per-site entropy is the log of the number of legal states for that
-    // site.  Add one to account for the unmutated state.
-    m_o_total_entropy += log(static_cast<double>(m_o_site_count[i] + 1)) / max_ent;
-  }
-  m_o_complexity = m_base_genome.GetSize() - m_o_total_entropy;
-  
-  
-  // Initialize values
-  m_t_total = 0;
-  m_t_total_sqr_fitness = 0.0;
-  m_t_dead = 0;
-  m_t_neg = 0;
-  m_t_neut = 0;
-  m_t_pos = 0;
-  m_t_size_pos = 0.0;
-  m_t_size_neg = 0.0;
-  m_t_peak_fitness = m_base_fitness;
-  m_t_peak_genome = m_base_genome;  
-  m_t_site_count.Resize(m_base_genome.GetSize(), 0);
-  m_t_total_entropy = 0;
-  m_t_task_target = 0;
-  m_t_task_target_pos = 0;
-  m_t_task_target_neg = 0;
-  m_t_task_target_neut = 0;
-  m_t_task_target_dead = 0;
-  m_t_task_total = 0;
-  m_t_task_knockout = 0;
-  
-  for (int i = 0; i < m_twostep.GetSize(); i++) {
-    sStep& tdata = m_twostep[i];
-    m_t_total += tdata.total;
-    m_t_total_fitness += tdata.total_fitness;
-    m_t_total_sqr_fitness += tdata.total_sqr_fitness;
-    m_t_dead += tdata.dead;
-    m_t_neg += tdata.neg;
-    m_t_neut += tdata.neut;
-    m_t_pos += tdata.pos;
-    m_t_size_pos += tdata.size_pos; 
-    m_t_size_neg += tdata.size_neg; 
-  
-    if (tdata.peak_fitness > m_t_peak_fitness) {
-      m_t_peak_genome = tdata.peak_genome;
-      m_t_peak_fitness = tdata.peak_fitness;
-    }
-  
-  
-    for (int j = 0; j < m_t_site_count.GetSize(); j++) {
-      m_t_site_count[j] += tdata.site_count[j];
-    }
-      
-    m_t_task_target += tdata.task_target;
-    m_t_task_total += tdata.task_total;
-    m_t_task_knockout += tdata.task_knockout;
-  }
-
-  for (int i = 0; i < m_base_genome.GetSize(); i++) {
-    // Per-site entropy is the log of the number of legal states for that
-    // site.  Add one to account for the unmutated state.
-    m_t_total_entropy += log(static_cast<double>(m_t_site_count[i] + 1)) / max_ent;
-  }
-  m_t_complexity = m_base_genome.GetSize() - m_t_total_entropy;
-
-  // @TODO - Do post relative fitness determination for target task counts
-  sPendingTarget* pend = NULL;
-  while (pend = m_pending.Pop()) {
-    double fitness = m_fitness[pend->site][pend->inst];
-    
-    if (fitness == 0.0)
-      m_t_task_target_dead++;
-    else if (fitness < m_neut_min)
-      m_t_task_target_neg++;
-    else if (fitness <= m_neut_max)
-      m_t_task_target_neut++;
-    else
-      m_t_task_target_pos++;
-    
-    delete pend;
-  }
-  
-  pthread_rwlock_unlock(&m_rwlock);
-}
-
-
-void cMutationalNeighborhood::PrintStats(cDataFile& df, int update) const
-{
-  df.Write(update, "Update/Tree Depth");
-  
-  df.Write(GetTargetTask(), "Target Task");
-
-  df.Write(GetBaseFitness(), "Base Fitness");
-  df.Write(GetBaseMerit(), "Base Merit");
-  df.Write(GetBaseGestation(), "Base Gestation");
-  df.Write(GetBaseGenome().GetSize(), "Base Genome Length");
-  df.Write(GetBaseTargetTask(), "Base Performs Target Task");
-
-  df.Write(GetSingleTotal(), "Total One Step Mutants");
-  df.Write(GetSingleProbPos(), "One Step Probability Positive");
-  df.Write(GetSingleProbNeg(), "One Step Probability Deleterious");
-  df.Write(GetSingleProbNeut(), "One Step Probability Neutral");
-  df.Write(GetSingleProbDead(), "One Step Probability Fatal");
-  df.Write(GetSingleAverageSizePos(), "One Step Average Positive Size");
-  df.Write(GetSingleAverageSizeNeg(), "One Step Average Negative Size");
-  df.Write(GetSinglePeakFitness(), "One Step Peak Fitness");
-  df.Write(GetSingleAverageFitness(), "One Step Average Fitness");
-  df.Write(GetSingleAverageSqrFitness(), "One Step Average Square Fitness");
-  df.Write(GetSingleTotalEntropy(), "One Step Total Entropy");
-  df.Write(GetSingleComplexity(), "One Step Total Complexity");
-  df.Write(GetSingleTargetTask(), "One Step Confers Target Task");
-  df.Write(GetSingleProbTargetTask(), "One Step Probability Confers Target Task");
-  df.Write(GetSingleTask(), "One Step Confers Any Task");
-  df.Write(GetSingleProbTask(), "One Step Probability Confers Any Task");
-  df.Write(GetSingleKnockout(), "One Step Knockout Task");
-  df.Write(GetSingleProbKnockout(), "One Step Probability Knockout Task");
-
-  df.Write(GetDoubleTotal(), "Total Two Step Mutants");
-  df.Write(GetDoubleProbPos(), "Two Step Probability Positive");
-  df.Write(GetDoubleProbNeg(), "Two Step Probability Deleterious");
-  df.Write(GetDoubleProbNeut(), "Two Step Probability Neutral");
-  df.Write(GetDoubleProbDead(), "Two Step Probability Fatal");
-  df.Write(GetDoubleAverageSizePos(), "Two Step Average Positive Size");
-  df.Write(GetDoubleAverageSizeNeg(), "Two Step Average Negative Size");
-  df.Write(GetDoublePeakFitness(), "Two Step Peak Fitness");
-  df.Write(GetDoubleAverageFitness(), "Two Step Average Fitness");
-  df.Write(GetDoubleAverageSqrFitness(), "Two Step Average Square Fitness");
-  df.Write(GetDoubleTotalEntropy(), "Two Step Total Entropy");
-  df.Write(GetDoubleComplexity(), "Two Step Total Complexity");
-  df.Write(GetDoubleTargetTask(), "Two Step Confers Target Task");
-  df.Write(GetDoubleProbTargetTask(), "Two Step Probability Confers Target Task");
-  df.Write(GetDoubleTargetTaskPos(), "Two Step Confers Target - Previous Positive");
-  df.Write(GetDoubleProbTargetTaskPos(), "Two Step Prob. Confers Target - Previous Positive");
-  df.Write(GetDoubleTargetTaskNeg(), "Two Step Confers Target - Previous Deleterious");
-  df.Write(GetDoubleProbTargetTaskNeg(), "Two Step Prob. Confers Target - Previous Deleterious");
-  df.Write(GetDoubleTargetTaskNeut(), "Two Step Confers Target - Previous Neutral");
-  df.Write(GetDoubleProbTargetTaskNeut(), "Two Step Prob. Confers Target - Previous Neutral");
-  df.Write(GetDoubleTargetTaskDead(), "Two Step Confers Target - Previous Fatal");
-  df.Write(GetDoubleProbTargetTaskDead(), "Two Step Prob. Confers Target - Previous Fatal");
-  df.Write(GetDoubleTask(), "Two Step Confers Any Task");
-  df.Write(GetDoubleProbTask(), "Two Step Probability Confers Any Task");
-  df.Write(GetDoubleKnockout(), "Two Step Knockout Task");
-  df.Write(GetDoubleProbKnockout(), "Two Step Probability Knockout Task");
-  
-  df.Endl();
-}

Deleted: development/source/main/cMutationalNeighborhood.h
===================================================================
--- development/source/main/cMutationalNeighborhood.h	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/main/cMutationalNeighborhood.h	2006-07-06 18:55:50 UTC (rev 806)
@@ -1,288 +0,0 @@
-/*
- *  cMutationalNeighborhood.h
- *  Avida
- *
- *  Created by David on 6/13/06.
- *  Copyright 2006 Michigan State University. All rights reserved.
- *
- */
-
-#ifndef cMutationalNeighborhood_h
-#define cMutationalNeighborhood_h
-
-#ifndef cGenome_h
-#include "cGenome.h"
-#endif
-#ifndef cString_h
-#include "cString.h"
-#endif
-#ifndef tArray_h
-#include "tArray.h"
-#endif
-#ifndef tList_h
-#include "tList.h"
-#endif
-#ifndef tMatrix_h
-#include "tMatrix.h"
-#endif
-
-#include <pthread.h>
-
-class cAvidaContext;
-class cCPUTestInfo;
-class cDataFile;
-class cInstSet;
-class cInstruction;
-class cTestCPU;
-class cWorld;
-
-
-class cMutationalNeighborhood
-{
-  friend class cMutationalNeighborhoodResults;
-  
-private:
-  cWorld* m_world;
-  
-  // Internal state information
-  // --------------------------------------------------------------------------
-  pthread_rwlock_t m_rwlock;
-  pthread_mutex_t m_mutex;
-  
-  bool m_initialized;
-  int m_cur_site;
-  int m_completed;
-  
-  struct sStep
-  {
-    int total;
-    
-    double total_fitness;
-    double total_sqr_fitness;
-    cGenome peak_genome;
-    double peak_fitness;
-    
-    int dead;
-    int neg;
-    int neut;
-    int pos;
-    double size_pos;
-    double size_neg;
-    
-    tArray<int> site_count;
-    
-    int task_target;
-    int task_total;
-    int task_knockout;
-
-    
-    sStep() : total(0), total_fitness(0.0), total_sqr_fitness(0.0), peak_fitness(0.0), dead(0), neg(0), neut(0), pos(0),
-      size_pos(0.0), size_neg(0.0), task_target(0), task_total(0), task_knockout(0) { ; }
-  };
-  tArray<sStep> m_onestep;
-  tArray<sStep> m_twostep;
-
-  tMatrix<double> m_fitness;
-  
-  struct sPendingTarget
-  {
-    int site;
-    int inst;
-    sPendingTarget(int in_site, int in_inst) : site(in_site), inst(in_inst) { ; }
-  };
-  tList<sPendingTarget> m_pending;
-  
-  const cInstSet& m_inst_set;  
-  int m_target;
-  
-  // Base data
-  // --------------------------------------------------------------------------
-  cGenome m_base_genome;
-  double m_base_fitness;
-  double m_base_merit;
-  double m_base_gestation;
-  tArray<int> m_base_tasks;
-  double m_neut_min;  // These two variables are a range around the base
-  double m_neut_max;  //   fitness to be counted as neutral mutations.
-  
-  // Aggregated One Step Data
-  // --------------------------------------------------------------------------
-  int m_o_total;
-
-  double m_o_total_fitness;
-  double m_o_total_sqr_fitness;
-  cGenome m_o_peak_genome;
-  double m_o_peak_fitness;
-  
-  int m_o_dead;
-  int m_o_neg;
-  int m_o_neut;
-  int m_o_pos;
-  double m_o_size_pos; 
-  double m_o_size_neg; 
-  
-  tArray<int> m_o_site_count;
-  
-  double m_o_total_entropy;
-  double m_o_complexity;
-  
-  int m_o_task_target;
-  int m_o_task_total;
-  int m_o_task_knockout;
-  
-  // Aggregated Two Step Data
-  // --------------------------------------------------------------------------
-  int m_t_total;
-
-  double m_t_total_fitness;
-  double m_t_total_sqr_fitness;
-  cGenome m_t_peak_genome;
-  double m_t_peak_fitness;
-  
-  int m_t_dead;
-  int m_t_neg;
-  int m_t_neut;
-  int m_t_pos;
-  double m_t_size_pos; 
-  double m_t_size_neg; 
-  
-  tArray<int> m_t_site_count;
-  
-  double m_t_total_entropy;
-  double m_t_complexity;
-
-  int m_t_task_target;
-  int m_t_task_target_pos;
-  int m_t_task_target_neg;
-  int m_t_task_target_neut;
-  int m_t_task_target_dead;
-  int m_t_task_total;
-  int m_t_task_knockout;
-
-
-  void ProcessInitialize(cAvidaContext& ctx);
-  void ProcessOneStep(cAvidaContext& ctx, cTestCPU* testcpu, cCPUTestInfo& test_info, int cur_site);
-  void ProcessTwoStep(cAvidaContext& ctx, cTestCPU* testcpu, cCPUTestInfo& test_info, int cur_site, cGenome& mod_genome);
-  void ProcessComplete(cAvidaContext& ctx);
-  
-  cMutationalNeighborhood(); // @not_implemented
-  cMutationalNeighborhood(const cMutationalNeighborhood&); // @not_implemented
-  cMutationalNeighborhood& operator=(const cMutationalNeighborhood&); // @not_implemented
-  
-public:
-  cMutationalNeighborhood(cWorld* world, const cGenome& genome, const cInstSet& inst_set, int target)
-  : m_world(world), m_initialized(false), m_inst_set(inst_set), m_target(target), m_base_genome(genome)
-  {
-    pthread_rwlock_init(&m_rwlock, NULL);
-    pthread_mutex_init(&m_mutex, NULL);
-    
-    // Acquire write lock, to prevent any Results instances before computing
-    pthread_rwlock_wrlock(&m_rwlock);
-  }
-  ~cMutationalNeighborhood()
-  {
-    pthread_rwlock_destroy(&m_rwlock);
-    pthread_mutex_destroy(&m_mutex);
-  }
-  
-  void Process(cAvidaContext& ctx);
-
-  
-// These methods can only be accessed via a cMutationalNeighborhoodResults object
-private:
-  void PrintStats(cDataFile& df, int update = -1) const;
-  
-  inline int GetTargetTask() const { return m_target; }
-
-  inline const cGenome& GetBaseGenome() const { return m_base_genome; }
-  inline double GetBaseFitness() const { return m_base_fitness; }
-  inline double GetBaseMerit() const { return m_base_merit; }
-  inline double GetBaseGestation() const { return m_base_gestation; }
-  inline bool GetBaseTargetTask() const
-  {
-    if (m_base_tasks.GetSize()) return m_base_tasks[m_target]; else return false;
-  }
-
-  inline int GetSingleTotal() const { return m_o_total; }
-  
-  inline double GetSingleAverageFitness() const { return m_o_total_fitness / m_o_total; }
-  inline double GetSingleAverageSqrFitness() const { return m_o_total_sqr_fitness / m_o_total; }
-  inline const cGenome& GetSinglePeakGenome() const { return m_o_peak_genome; }
-  inline double GetSinglePeakFitness() const { return m_o_peak_fitness; }
-  
-  inline double GetSingleProbDead() const { return static_cast<double>(m_o_dead) / m_o_total; }
-  inline double GetSingleProbNeg()  const { return static_cast<double>(m_o_neg) / m_o_total; }
-  inline double GetSingleProbNeut() const { return static_cast<double>(m_o_neut) / m_o_total; }
-  inline double GetSingleProbPos()  const { return static_cast<double>(m_o_pos) / m_o_total; }
-  inline double GetSingleAverageSizePos() const { if (m_o_pos == 0) return 0.0; else return m_o_size_pos / m_o_pos; }
-  inline double GetSingleAverageSizeNeg() const { if (m_o_neg == 0) return 0.0; else return m_o_size_neg / m_o_neg; }
-  
-  inline double GetSingleTotalEntropy() const { return m_o_total_entropy; }
-  inline double GetSingleComplexity() const { return m_o_complexity; }
-
-  inline int GetSingleTargetTask() const { return m_o_task_target; }
-  inline double GetSingleProbTargetTask() const { return static_cast<double>(m_o_task_target) / m_o_total; }
-  inline int GetSingleTask() const { return m_o_task_total; }
-  inline double GetSingleProbTask() const { return static_cast<double>(m_o_task_total) / m_o_total; }
-  inline int GetSingleKnockout() const { return m_o_task_knockout; }
-  inline double GetSingleProbKnockout() const { return static_cast<double>(m_o_task_knockout) / m_o_total; }
-  
-
-  inline int GetDoubleTotal() const { return m_t_total; }
-  
-  inline double GetDoubleAverageFitness() const { return m_t_total_fitness / m_t_total; }
-  inline double GetDoubleAverageSqrFitness() const { return m_t_total_sqr_fitness / m_t_total; }
-  inline const cGenome& GetDoublePeakGenome() const { return m_t_peak_genome; }
-  inline double GetDoublePeakFitness() const { return m_t_peak_fitness; }
-  
-  inline double GetDoubleProbDead() const { return static_cast<double>(m_t_dead) / m_t_total; }
-  inline double GetDoubleProbNeg()  const { return static_cast<double>(m_t_neg) / m_t_total; }
-  inline double GetDoubleProbNeut() const { return static_cast<double>(m_t_neut) / m_t_total; }
-  inline double GetDoubleProbPos()  const { return static_cast<double>(m_t_pos) / m_t_total; }
-  inline double GetDoubleAverageSizePos() const { if (m_t_pos == 0) return 0.0; else return m_t_size_pos / m_t_pos; }
-  inline double GetDoubleAverageSizeNeg() const { if (m_t_neg == 0) return 0.0; else return m_t_size_neg / m_t_neg; }
-  
-  inline double GetDoubleTotalEntropy() const { return m_t_total_entropy; }
-  inline double GetDoubleComplexity() const { return m_t_complexity; }
-
-  inline int GetDoubleTargetTask() const { return m_t_task_target; }
-  inline double GetDoubleProbTargetTask() const { return static_cast<double>(m_t_task_target) / m_t_total; }
-  inline int GetDoubleTargetTaskPos() const { return m_t_task_target_pos; }
-  inline double GetDoubleProbTargetTaskPos() const
-  {
-    if (m_t_task_target == 0) return 0.0; else return static_cast<double>(m_t_task_target_pos) / (2 * m_t_task_target);
-  }
-  inline int GetDoubleTargetTaskNeg() const { return m_t_task_target_neg; }
-  inline double GetDoubleProbTargetTaskNeg() const
-  {
-    if (m_t_task_target == 0) return 0.0; else return static_cast<double>(m_t_task_target_neg) / (2 * m_t_task_target);
-  }
-  inline int GetDoubleTargetTaskNeut() const { return m_t_task_target_neut; }
-  inline double GetDoubleProbTargetTaskNeut() const
-  {
-    if (m_t_task_target == 0) return 0.0; else return static_cast<double>(m_t_task_target_neut) / (2 * m_t_task_target);
-  }
-  inline int GetDoubleTargetTaskDead() const { return m_t_task_target_dead; }
-  inline double GetDoubleProbTargetTaskDead() const
-  {
-    if (m_t_task_target == 0) return 0.0; else return static_cast<double>(m_t_task_target_dead) / (2 * m_t_task_target);
-  }
-  inline int GetDoubleTask() const { return m_t_task_total; }
-  inline double GetDoubleProbTask() const { return static_cast<double>(m_t_task_total) / m_t_total; }
-  inline int GetDoubleKnockout() const { return m_t_task_knockout; }
-  inline double GetDoubleProbKnockout() const { return static_cast<double>(m_t_task_knockout) / m_t_total; }
-};
-
-
-#ifdef ENABLE_UNIT_TESTS
-namespace nMutationalNeighborhood {
-  /**
-  * Run unit tests
-   *
-   * @param full Run full test suite; if false, just the fast tests.
-   **/
-  void UnitTests(bool full = false);
-}
-#endif  
-
-#endif

Deleted: development/source/main/cMutationalNeighborhoodResults.h
===================================================================
--- development/source/main/cMutationalNeighborhoodResults.h	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/main/cMutationalNeighborhoodResults.h	2006-07-06 18:55:50 UTC (rev 806)
@@ -1,109 +0,0 @@
-/*
- *  cMutationalNeighborhoodResults.h
- *  Avida
- *
- *  Created by David Bryson on 6/21/06.
- *  Copyright 2006 Michigan State University. All rights reserved.
- *
- */
-
-#ifndef cMutationalNeighborhoodResults_h
-#define cMutationalNeighborhoodResults_h
-
-#ifndef cMutationalNeighborhood_h
-#include "cMutationalNeighborhood.h"
-#endif
-
-class cMutationalNeighborhoodResults
-{
-private:
-  cMutationalNeighborhood& m_src;
-
-  cMutationalNeighborhoodResults(); // @not_implemented
-  cMutationalNeighborhoodResults(const cMutationalNeighborhood&); // @not_implemented
-  cMutationalNeighborhoodResults& operator=(const cMutationalNeighborhoodResults&); // @not_implemented
-  
-public:
-  cMutationalNeighborhoodResults(cMutationalNeighborhood& src) : m_src(src)
-  {
-    pthread_rwlock_rdlock(&m_src.m_rwlock);
-  }
-  cMutationalNeighborhoodResults(cMutationalNeighborhood* src) : m_src(*src)
-  {
-    pthread_rwlock_rdlock(&m_src.m_rwlock);
-  }
-  
-  ~cMutationalNeighborhoodResults()
-  {
-    pthread_rwlock_unlock(&m_src.m_rwlock);
-  }
-  
-  inline void PrintStats(cDataFile& df, int update = -1) const { m_src.PrintStats(df, update); }
-  
-  inline int GetTargetTask() const { return m_src.GetTargetTask(); }
-  
-  inline const cGenome& GetBaseGenome() const { return m_src.GetBaseGenome(); }
-  inline double GetBaseFitness() const { return m_src.GetBaseFitness(); }
-  inline double GetBaseMerit() const { return m_src.GetBaseMerit(); }
-  inline double GetBaseGestation() const { return m_src.GetBaseGestation(); }
-  inline bool GetBaseTargetTask() const { return m_src.GetBaseTargetTask(); }
-  
-  inline int GetSingleTotal() const { return m_src.GetSingleTotal(); }
-  
-  inline double GetSingleAverageFitness() const { return m_src.GetSingleAverageFitness(); }
-  inline double GetSingleAverageSqrFitness() const { return m_src.GetSingleAverageSqrFitness(); }
-  inline const cGenome& GetSinglePeakGenome() const { return m_src.GetSinglePeakGenome(); }
-  inline double GetSinglePeakFitness() const { return m_src.GetSinglePeakFitness(); }
-
-  inline double GetSingleProbDead() const { return m_src.GetSingleProbDead(); }
-  inline double GetSingleProbNeg() const { return m_src.GetSingleProbNeg(); }
-  inline double GetSingleProbNeut() const { return m_src.GetSingleProbNeut(); }
-  inline double GetSingleProbPos() const { return m_src.GetSingleProbPos(); }
-  inline double GetSingleAverageSizePos() const { return m_src.GetSingleAverageSizePos(); }
-  inline double GetSingleAverageSizeNeg() const { return m_src.GetSingleAverageSizeNeg(); }
-
-  inline double GetSingleTotalEntropy() const { return m_src.GetSingleTotalEntropy(); }
-  inline double GetSingleComplexity() const { return m_src.GetSingleComplexity(); }
-
-  inline int GetSingleTargetTask() const { return m_src.GetSingleTargetTask(); }
-  inline double GetSingleProbTargetTask() const { return m_src.GetSingleProbTargetTask(); }
-  inline int GetSingleTask() const { return m_src.GetSingleProbTask(); }
-  inline double GetSingleProbTask() const { return m_src.GetSingleProbTask(); }
-  inline int GetSingleKnockout() const { return m_src.GetSingleKnockout(); }
-  inline double GetSingleProbKnockout() const { return m_src.GetSingleProbKnockout(); }
-
-
-  inline int GetDoubleTotal() const { return m_src.GetDoubleTotal(); }
-  
-  inline double GetDoubleAverageFitness() const { return m_src.GetDoubleAverageFitness(); }
-  inline double GetDoubleAverageSqrFitness() const { return m_src.GetDoubleAverageSqrFitness(); }
-  inline const cGenome& GetDoublePeakGenome() const { return m_src.GetDoublePeakGenome(); }
-  inline double GetDoublePeakFitness() const { return m_src.GetDoublePeakFitness(); }
-
-  inline double GetDoubleProbDead() const { return m_src.GetDoubleProbDead(); }
-  inline double GetDoubleProbNeg() const { return m_src.GetDoubleProbNeg(); }
-  inline double GetDoubleProbNeut() const { return m_src.GetDoubleProbNeut(); }
-  inline double GetDoubleProbPos() const { return m_src.GetDoubleProbPos(); }
-  inline double GetDoubleAverageSizePos() const { return m_src.GetDoubleAverageSizePos(); }
-  inline double GetDoubleAverageSizeNeg() const { return m_src.GetDoubleAverageSizeNeg(); }
-
-  inline double GetDoubleTotalEntropy() const { return m_src.GetDoubleTotalEntropy(); }
-  inline double GetDoubleComplexity() const { return m_src.GetDoubleComplexity(); }
-
-  inline int GetDoubleTargetTask() const { return m_src.GetDoubleTargetTask(); }
-  inline double GetDoubleProbTargetTask() const { return m_src.GetDoubleProbTargetTask(); }
-  inline int GetDoubleTargetTaskPos() const { return m_src.GetDoubleTargetTaskPos(); }
-  inline double GetDoubleProbTargetTaskPos() const { return m_src.GetDoubleProbTargetTaskPos(); }
-  inline int GetDoubleTargetTaskNeg() const { return m_src.GetDoubleTargetTaskNeg(); }
-  inline double GetDoubleProbTargetTaskNeg() const { return m_src.GetDoubleProbTargetTaskNeg(); }
-  inline int GetDoubleTargetTaskNeut() const { return m_src.GetDoubleTargetTaskNeut(); }
-  inline double GetDoubleProbTargetTaskNeut() const { return m_src.GetDoubleProbTargetTaskNeut(); }
-  inline int GetDoubleTargetTaskDead() const { return m_src.GetDoubleTargetTaskDead(); }
-  inline double GetDoubleProbTargetTaskDead() const { return m_src.GetDoubleProbTargetTaskDead(); }
-  inline int GetDoubleTask() const { return m_src.GetDoubleProbTask(); }
-  inline double GetDoubleProbTask() const { return m_src.GetDoubleProbTask(); }
-  inline int GetDoubleKnockout() const { return m_src.GetDoubleKnockout(); }
-  inline double GetDoubleProbKnockout() const { return m_src.GetDoubleProbKnockout(); }  
-};
-
-#endif

Modified: development/source/targets/avida/CMakeLists.txt
===================================================================
--- development/source/targets/avida/CMakeLists.txt	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/targets/avida/CMakeLists.txt	2006-07-06 18:55:50 UTC (rev 806)
@@ -3,7 +3,7 @@
 ADD_EXECUTABLE(avida primitive.cc)
 
 SET(avida_target_link_libs
-  main classification cpu event analyze drivers analyze cpu tools actions
+  main classification cpu event analyze drivers cpu tools actions analyze
 )
 
 IF(NOT MSVC)

Modified: development/source/targets/avida/SConscript
===================================================================
--- development/source/targets/avida/SConscript	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/targets/avida/SConscript	2006-07-06 18:55:50 UTC (rev 806)
@@ -15,10 +15,10 @@
     'event',
     'analyze',
     'drivers',
-    'analyze',
     'cpu',
     'tools',
     'actions',
+    'analyze',
     'archive',
     'boost_serialization',
     'main',

Modified: development/source/targets/avida-viewer/CMakeLists.txt
===================================================================
--- development/source/targets/avida-viewer/CMakeLists.txt	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/targets/avida-viewer/CMakeLists.txt	2006-07-06 18:55:50 UTC (rev 806)
@@ -26,7 +26,7 @@
 ADD_EXECUTABLE(avida-viewer viewer.cc)
 
 SET(avida_viewer_target_link_libs
-  cursesviewer main classification cpu event analyze drivers analyze cpu tools trio actions ${NCURSES_LIBRARY}
+  cursesviewer main classification cpu event analyze drivers cpu tools trio actions analyze ${NCURSES_LIBRARY}
 )
 
 

Modified: development/source/targets/avida-viewer/SConscript
===================================================================
--- development/source/targets/avida-viewer/SConscript	2006-07-06 18:34:37 UTC (rev 805)
+++ development/source/targets/avida-viewer/SConscript	2006-07-06 18:55:50 UTC (rev 806)
@@ -28,10 +28,10 @@
     'event',
     'analyze',
     'drivers',
-    'analyze',
     'cpu',
     'tools',
     'actions',
+    'analyze',
     'ncurses',
     'pthread',
     'archive',




More information about the Avida-cvs mailing list