[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