[avida-cvs] avida CVS commits: /current/source/main Makefile.am genebank.cc genebank.hh

wisnelaw avida-cvs at alife.org
Fri Aug 1 00:03:36 PDT 2003


wisnelaw		Thu Jul 31 16:03:36 2003 EDT

  Modified files:              
    /avida/current/source/main	Makefile.am genebank.cc genebank.hh 
  Log:
  fixed a few bugs in previous commit.
  
  -law
  
  
  
-------------- next part --------------
Index: avida/current/source/main/Makefile.am
diff -u avida/current/source/main/Makefile.am:1.30 avida/current/source/main/Makefile.am:1.31
--- avida/current/source/main/Makefile.am:1.30	Thu Jul 31 15:34:27 2003
+++ avida/current/source/main/Makefile.am	Thu Jul 31 16:03:35 2003
@@ -43,7 +43,6 @@
     mutations.hh		mutations.cc		\
     org_message.hh      org_message.cc          \
     organism.hh		organism.cc		\
-    parasite.hh		parasite.cc		\
     phenotype.hh		phenotype.cc		\
     population.hh		population.cc		\
     population_cell.hh	population_cell.cc	\
Index: avida/current/source/main/genebank.cc
diff -u avida/current/source/main/genebank.cc:1.31 avida/current/source/main/genebank.cc:1.32
--- avida/current/source/main/genebank.cc:1.31	Thu Jul 31 15:34:27 2003
+++ avida/current/source/main/genebank.cc	Thu Jul 31 16:03:35 2003
@@ -13,7 +13,6 @@
 #include "genotype.hh"
 #include "config.hh"
 #include "stats.hh"
-#include "parasite.hh"
 
 #include "../cpu/test_util.hh"
 
@@ -691,7 +690,6 @@
 
   genotype_control = new cGenotypeControl(*this);
   species_control  = new cSpeciesControl(*this);
-  parasite_control = new cParasiteControl(*this);
 
 }
 
@@ -699,7 +697,6 @@
 {
   delete genotype_control;
   delete species_control;
-  delete parasite_control;
 }
 
 void cGenebank::UpdateReset()
@@ -1220,9 +1217,9 @@
   return total;
 }
 
-//void cGenebank::SpeciesTest(char * message, cGenotype & genotype)
-//{
-  //cSpecies * cur_species = genotype.GetSpecies();
+void cGenebank::SpeciesTest(char * message, cGenotype & genotype)
+{
+  cSpecies * cur_species = genotype.GetSpecies();
 
 //    if (cur_species) {
 //      g_debug.Comment("UD %d: %s on genotype [%d] (size %d) of species [%d]",
@@ -1239,624 +1236,4 @@
 //  	    cur_species->GetID(), cur_species->GetNumGenotypes(),
 //  	    cur_species->GetNumThreshold(), cur_species->GetQueueType());
 //    }
-//}
-
-void cGenebank::AddParasite(cParasite * in_parasite, int in_list_num)
-{
-  assert( in_parasite != 0 );
-  
-  if ( in_list_num < 0 )
-    in_list_num = FindCRC(in_parasite->GetGenome()) % GENOTYPE_HASH_SIZE;
-  
-  active_parasites[in_list_num].Insert(*in_parasite);
-  parasite_control->Insert(*in_parasite);
-  //stats.AddParasite(in_parasite->GetID());
-
-  // Speciation... If we are creating a new parasite here, we must
-  // initilize it to the species of its parent parasite.
-
-  cSpecies * parent_species = NULL;
-  if ( in_parasite->GetParentParasite() != NULL) {
-    parent_species = in_parasite->GetParentParasite()->GetSpecies();
-  }
-
-  //in_parasite->SetSpecies(parent_species);
-  //if (parent_species != NULL) parent_species->AddParasite();
-}
-
-
-cParasite * cGenebank::AddParasite(const cGenome & in_genome,
-				   cParasite * parent_parasite)
-{
-  int list_num = FindCRC(in_genome) % GENOTYPE_HASH_SIZE;
-  cParasite * found_parasite;
-
-  found_parasite = active_parasites[list_num].Find(in_genome);
-
-  if (!found_parasite) {
-    found_parasite = new cParasite(stats.GetUpdate());
-    found_parasite->SetGenome(in_genome);
-    found_parasite->SetParent(parent_parasite);
-    
-    AddParasite( found_parasite, list_num );
-    /*
-    active_parasites[list_num].Insert(*found_parasite);
-    parasite_control->Insert(*found_parasite);
-    stats.AddParasite(found_parasite->GetID());
-
-    // Speciation... If we are creating a new parasite here, we must
-    // initilize it to the species of its parent parasite.
-
-    cSpecies * parent_species = NULL;
-    if (parent_parasite != NULL) {
-      parent_species = parent_parasite->GetSpecies();
-    }
-
-    found_parasite->SetSpecies(parent_species);
-    if (parent_species != NULL) parent_species->AddParasite();
-    */
-  }
-
-  return found_parasite;
-}
-
-cParasite * cGenebank::FindParasite(const cGenome & in_genome) const
-{
-  int list_num = FindCRC(in_genome) % GENOTYPE_HASH_SIZE;
-  return active_parasites[list_num].Find(in_genome);
-}
-
-void cGenebank::RemoveParasite(cParasite & in_parasite)
-{
-  // If this parasite is still active, mark it no longer active and
-  // take it out of the hash table so it doesn't have any new organisms
-  // assigned to it.
-
-  if (in_parasite.GetActive() == true) {
-    int list_num = FindCRC(in_parasite.GetGenome()) % GENOTYPE_HASH_SIZE;
-    active_parasites[list_num].Remove(in_parasite);
-    parasite_control->Remove(in_parasite);
-    in_parasite.Deactivate(stats.GetUpdate());
-    if (cConfig::GetTrackMainLineage()) {
-      parasite_control->InsertHistoric(in_parasite);
-    }
-  }
-
-  // If we are tracking the main lineage, we only want to delete a
-  // parasite when all of its decendents have also died out.
-
-  if (cConfig::GetTrackMainLineage()) {
-    // If  there are more offspring parasites, hold off on deletion...
-    if (in_parasite.GetNumOffspringParasites() != 0) return;
-
-    // If this is a dead end, delete it and recurse up...
-    cParasite * parent = in_parasite.GetParentParasite();
-    if (parent != NULL) {
-      parent->RemoveOffspringParasite();
-
-      // Test to see if we need to update the coalescent parasite.
-      const int new_coal = parasite_control->UpdateCoalescent();
-      //stats.SetCoalescentParasiteDepth(new_coal);
-      // cout << "Set coalescent to " << found_gen->GetDepth() << endl;
-
-      if (parent->GetNumOrganisms() == 0) {
-	// Regardless, run RemoveParasite on the parent.
-	RemoveParasite(*parent);
-      }
-    }
-
-    parasite_control->RemoveHistoric(in_parasite);
-  }
-
-  // Handle the relevent statistics...
-  /* stats.RemoveParasite(in_parasite.GetID(),
-	      in_parasite.GetParentID(), in_parasite.GetParentDistance(),
-	      in_parasite.GetDepth(), in_parasite.GetTotalOrganisms(),
-              in_parasite.GetTotalParasites(),
-	      stats.GetUpdate() - in_parasite.GetUpdateBorn(),
-              in_parasite.GetLength());*/
-  //if (in_parasite.GetThreshold()) {
-  //  stats.RemoveThreshold(in_parasite.GetID());
-  //}
-
-
-  // Speciation...  If a Threshold parasite was removed, the position of this
-  // species in the active list will at least shift, and it is possible that
-  // the species is made inactive, or removed all-togeather.  If it is a non-
-  // threshold parasite, then the species will only be effected if this was
-  // the last parasite of that species.
-
-  //cSpecies * cur_species = in_parasite.GetSpecies();
-  /*if (cur_species) {
-
-    // First, re-adjust the species.
-
-    //   cur_species->RemoveParasite();
-
-    // Then, check to see how this species changes if it is a threshold.
-
-    //    if (in_parasite.GetThreshold()) {
-    //  cur_species->RemoveThreshold(in_parasite);
-
-      // If we are out of thresholds, move this species to the inactive
-      // list for now.  Otherwise, just adjust it.
-
-      if (cur_species->GetNumThreshold() == 0) {
-	species_control->SetInactive(*cur_species);
-      }
-      else {
-	species_control->Adjust(*cur_species);
-      }
-    }
-
-    // Finally, remove the species completely if it has no parasites left.
-
-    //if (!cur_species->GetNumParasites()) {
-    //  species_control->SetGarbage(*cur_species);
-    }*/
-  //}
-
-
-  delete &in_parasite;
-}
-
-void cGenebank::ThresholdParasite(cParasite & in_parasite)
-{
-  cSpecies * found_species = NULL;
-
-  in_parasite.SetName( GetLabel(in_parasite.GetLength(),
-				parasite_count[in_parasite.GetLength()]++) );
-  in_parasite.SetThreshold();
-
-  // If speciation is on, assign a species to the parasite now that it is
-  // threshold.
-
-  //if (cConfig::GetSpeciesRecording()) {
-    // Record the old species to know if it changes.
-
-    //cSpecies * old_species = in_parasite.GetSpecies();
-
-    // Determine the "proper" species.
-
-    //found_species = species_control->Find(in_parasite,
-    //				  cConfig::GetSpeciesRecording());
-
-    // If no species was found, create a new one.
-    /*
-    if (!found_species) {
-      found_species = new cSpecies(in_parasite.GetGenome(), stats.GetUpdate());
-      if (in_parasite.GetSpecies())
-	found_species->SetParentID(in_parasite.GetSpecies()->GetID());
-      species_control->SetActive(*found_species);
-      stats.AddSpecies(found_species->GetID());
-
-      // Since this is a new species, see if we should be printing it.
-
-      if (cConfig::GetSpeciesPrint()) {
-	cString filename;
-	filename.Set("genebank/spec-%04d", found_species->GetID());
-	cTestUtil::PrintGenome(in_parasite.GetGenome(), filename,
-			       &in_parasite, stats.GetUpdate());
-			       }
-  
-    else {
-      // If we are not creating a new species, but are adding a threshold
-      // to one which is currently in-active, make sure to move it back to
-      // the active list.
-
-      if (found_species->GetNumThreshold() == 0) {
-	species_control->SetActive(*found_species);
-      }
-    }
-
-    // Now that we know for sure what the species is, and that it is in
-    // the proper list, setup both the species and the parasite.
-
-    in_parasite.SetSpecies(found_species);
-    found_species->AddThreshold(in_parasite);
-
-    // Finally test to see if the species has been changed, and adjust
-    // accordingly.
-
-    if (found_species != old_species) {
-      found_species->AddParasite();
-      if (old_species) {
-	old_species->RemoveParasite();
-	if (old_species->GetNumParasites() == 0)
-	  species_control->SetGarbage(*old_species);
-      }
-    }
-    else {
-      if (found_species->GetNumThreshold() > 1) {
-	species_control->Adjust(*found_species);
-      }
-    }
-  }
-
-  // Do the relevent statistics...
-
-  if (cConfig::GetSpeciesRecording()) {
-    stats.AddThreshold(in_parasite.GetID(), in_parasite.GetName()(),
-			 found_species->GetID());
-  } else {
-    stats.AddThreshold(in_parasite.GetID(), in_parasite.GetName()());
-  }
-
-  // Print the parasite?
-
-  if (cConfig::GetParasitePrint()) {
-    cString filename;
-    filename.Set("genebank/%s", in_parasite.GetName()());
-    cTestUtil::PrintGenome(in_parasite.GetGenome(), filename,
-			   &in_parasite, stats.GetUpdate());
-			   }*/
-}
-
-bool cGenebank::AdjustParasite(cParasite & in_parasite)
-{
-  if (!parasite_control->Adjust(in_parasite)) return false;
-
-  if ((in_parasite.GetNumOrganisms() >= cConfig::GetThreshold() ||
-       &in_parasite == parasite_control->GetBest()) &&
-      !(in_parasite.GetThreshold())) {
-    ThresholdParasite(in_parasite);
-  }
-
-  return true;
-}
-
-/////////////////////
-// cParasiteQueue
-/////////////////////
-
-cParasiteQueue::cParasiteQueue()
-{
-  size = 0;
-  root.SetNext(&root);
-  root.SetPrev(&root);
-}
-
-
-cParasiteQueue::~cParasiteQueue()
-{
-  while (root.GetNext() != &root) {
-    Remove(root.GetNext());
-  }
-}
-
-bool cParasiteQueue::OK()
-{
-  bool result = true;
-  int count = 0;
-
-  for (cParasiteElement * temp_element = root.GetNext();
-       temp_element != &root;
-       temp_element = temp_element->GetNext()) {
-    assert (temp_element->GetNext()->GetPrev() == temp_element);
-    assert (temp_element->GetParasite()->GetID() >= 0);
-
-    count++;
-    assert (count <= size);
-  }
-
-  assert (count == size);
-
-  return result;
-}
-
-void cParasiteQueue::Insert(cParasite & in_parasite)
-{
-  cParasiteElement * new_element = new cParasiteElement(&in_parasite);
-  new_element->SetNext(root.GetNext());
-  new_element->SetPrev(&root);
-  root.GetNext()->SetPrev(new_element);
-  root.SetNext(new_element);
-  size++;
-}
-
-void cParasiteQueue::Remove(cParasite & in_parasite)
-{
-  cParasiteElement * cur_element;
-
-  for (cur_element = root.GetNext();
-       cur_element != &root;
-       cur_element = cur_element->GetNext()) {
-    if (cur_element->GetParasite() == &in_parasite) break;
-  }
-
-  assert (cur_element != &root);
-
-  Remove(cur_element);
-}
-
-void cParasiteQueue::Remove(cParasiteElement * in_element)
-{
-  in_element->GetPrev()->SetNext(in_element->GetNext());
-  in_element->GetNext()->SetPrev(in_element->GetPrev());
-  in_element->SetNext(NULL);
-  in_element->SetPrev(NULL);
-  delete(in_element);
-
-  size--;
-}
-
-cParasite * cParasiteQueue::Find(const cGenome & in_genome) const
-{
-  for (cParasiteElement * cur_element = root.GetNext();
-       cur_element != &root;
-       cur_element = cur_element->GetNext()) {
-    if (cur_element->GetParasite()->GetGenome() == in_genome) {
-      return cur_element->GetParasite();
-    }
-  }
-  return NULL;
-}
-
-///////////////////////
-//  cParasiteControl
-///////////////////////
-
-cParasiteControl::cParasiteControl(cGenebank & in_gb) : genebank(in_gb)
-{
-  size = 0;
-  best = NULL;
-  coalescent = NULL;
-  for (int i = 0; i < GENOTYPE_THREADS; i++) threads[i] = NULL;
-
-  historic_list = NULL;
-  historic_count = 0;
-}
-
-cParasiteControl::~cParasiteControl()
-{
-}
-
-bool cParasiteControl::OK()
-{
-  int ret_value = true;
-
-  // Cycle through the list, making sure all connections are proper, size
-  // is correct, and all parasites are OK().
-
-  cParasite * cur_pos = best;
-  for (int i = 0; i < size; i++) {
-    if (!cur_pos->OK()) ret_value = false;
-    assert (cur_pos->GetNext()->GetPrev() == cur_pos);
-    cur_pos = cur_pos->GetNext();
-  }
-
-  assert (cur_pos == best);
-
-  return ret_value;
-}
-
-void cParasiteControl::Insert(cParasite & in_parasite, cParasite * prev_parasite)
-{
-  if (prev_parasite == NULL) {
-    assert(size == 0); // Destroying a full parasite queue...
-
-    best = &in_parasite;
-    best->SetNext(best);
-    best->SetPrev(best);
-  }
-  else {
-    in_parasite.SetPrev(prev_parasite);
-    in_parasite.SetNext(prev_parasite->GetNext());
-    prev_parasite->SetNext(&in_parasite);
-    in_parasite.GetNext()->SetPrev(&in_parasite);
-  }
-
-  size++;
-}
-
-void cParasiteControl::Remove(cParasite & in_parasite)
-{
-  if (size == 1) {
-    best = NULL;
-  }
-  if (&in_parasite == best) {
-    best = best->GetNext();
-  }
-
-  in_parasite.GetNext()->SetPrev(in_parasite.GetPrev());
-  in_parasite.GetPrev()->SetNext(in_parasite.GetNext());
-  in_parasite.SetNext(NULL);
-  in_parasite.SetPrev(NULL);
-
-  size--;
-}
-
-void cParasiteControl::RemoveHistoric(cParasite & in_parasite)
-{
-  if (historic_count == 1) {
-    historic_list = NULL;
-  }
-  if (&in_parasite == historic_list) {
-    historic_list = historic_list->GetNext();
-  }
-
-  in_parasite.GetNext()->SetPrev(in_parasite.GetPrev());
-  in_parasite.GetPrev()->SetNext(in_parasite.GetNext());
-  in_parasite.SetNext(NULL);
-  in_parasite.SetPrev(NULL);
-
-  historic_count--;
-}
-
-void cParasiteControl::InsertHistoric(cParasite & in_parasite)
-{
-  if (historic_count == 0) {
-    in_parasite.SetNext(&in_parasite);
-    in_parasite.SetPrev(&in_parasite);
-  }
-  else {
-    in_parasite.SetPrev(historic_list->GetPrev());
-    in_parasite.SetNext(historic_list);
-    historic_list->GetPrev()->SetNext(&in_parasite);
-    historic_list->SetPrev(&in_parasite);
-  }
-
-  historic_list = &in_parasite;
-  historic_count++;
-}
-
-
-int cParasiteControl::UpdateCoalescent()
-{
-  // Test to see if any updating needs to be done...
-  // Don't update active coalescent parasite, or if there is more than
-  // one offspring.
-  if (coalescent != NULL &&
-      (coalescent->GetNumOrganisms() > 0 ||
-       coalescent->GetNumOffspringParasites() > 1)) {
-    return coalescent->GetDepth();
-  }
-
-  // If there is no best, there is nothing to search through...
-  if (best == NULL) return -1;
-
-  // Find the new point...
-  cParasite * test_gen = best;
-  cParasite * found_gen = best;
-  cParasite * parent_gen = best->GetParentParasite();
-
-  while (parent_gen != NULL) {
-    // See if this parasite should be the new found parasite...
-    if (test_gen->GetNumOrganisms() > 0 ||
-	test_gen->GetNumOffspringParasites() > 1) {
-      found_gen = test_gen;
-    }
-
-    // Move to the next parasite...
-    test_gen = parent_gen;
-    parent_gen = test_gen->GetParentParasite();
-  }
-
-  coalescent = found_gen;
-
-  return coalescent->GetDepth();
-}
-
-
-bool cParasiteControl::CheckPos(cParasite & in_parasite)
-{
-  int next_OK = false;
-  int prev_OK = false;
-
-  if (in_parasite.GetNumOrganisms() >= in_parasite.GetNext()->GetNumOrganisms()) {
-    next_OK =true;
-  }
-  if (in_parasite.GetNumOrganisms() <= in_parasite.GetPrev()->GetNumOrganisms()) {
-    prev_OK =true;
-  }
-
-  if ((&in_parasite == best && next_OK) ||
-      (next_OK && prev_OK) ||
-      (&in_parasite == best->GetPrev() && prev_OK)) {
-    return true;
-  }
-
-  return false;
-}
-
-void cParasiteControl::Insert(cParasite & new_parasite)
-{
-  // If there is nothing in the list, add this.
-
-  if (size == 0) {
-    Insert(new_parasite, NULL);
-  }
-
-  // Otherwise tack it on the end.
-
-  else {
-    Insert(new_parasite, best->GetPrev());
-  }
-}
-
-bool cParasiteControl::Adjust(cParasite & in_parasite)
-{
-  if (in_parasite.GetDeferAdjust() == true) return true;
-
-  cParasite * cur_parasite = in_parasite.GetPrev();
-
-  // Check to see if this parasite should be removed completely.
-
-  if (in_parasite.GetNumOrganisms() == 0) {
-    genebank.RemoveParasite(in_parasite);
-    return false;
-  }
-
-  // Do not adjust if this was and still is the best parasite, or is
-  // otherwise in the proper spot...
-
-  if (CheckPos(in_parasite)) {
-    return true;
-  }
-
-  // Otherwise, remove it from the queue for just the moment.
-
-  Remove(in_parasite);
-
-  // Also, if this parasite is the best, put it there.
-
-  if (in_parasite.GetNumOrganisms() > best->GetNumOrganisms()) {
-    Insert(in_parasite, best->GetPrev());
-    best = &in_parasite;
-    return true;
-  }
-
-  // Finally, find out where this parasite *does* go.
-
-  while (cur_parasite->GetNumOrganisms() >= in_parasite.GetNumOrganisms() &&
-	 cur_parasite != best->GetPrev()) {
-    cur_parasite = cur_parasite->GetNext();
-  }
-  while (cur_parasite->GetNumOrganisms() < in_parasite.GetNumOrganisms() &&
-	 cur_parasite != best) {
-    cur_parasite = cur_parasite->GetPrev();
-  }
-
-  Insert(in_parasite, cur_parasite);
-
-  return true;
-}
-
-
-cParasite * cParasiteControl::Find(const cGenome & in_genome) const
-{
-  int i;
-  cParasite * cur_parasite = best;
-
-  for (i = 0; i < size; i++) {
-    if (in_genome == cur_parasite->GetGenome()) {
-      return cur_parasite;
-    }
-    cur_parasite = cur_parasite->GetNext();
-  }
-
-  return NULL;
-}
-
-int cParasiteControl::FindPos(cParasite & in_parasite, int max_depth)
-{
-  cParasite * temp_parasite = best;
-  if (max_depth < 0 || max_depth > size) max_depth = size;
-
-  for (int i = 0; i < max_depth; i++) {
-    if (temp_parasite == &in_parasite) return i;
-    temp_parasite = temp_parasite->GetNext();
-  }
-
-  return -1;
-}
-
-cParasite * cParasiteControl::Next(int thread)
-{
-  return threads[thread] = threads[thread]->GetNext();
-}
-
-cParasite * cParasiteControl::Prev(int thread)
-{
-  return threads[thread] = threads[thread]->GetPrev();
 }
Index: avida/current/source/main/genebank.hh
diff -u avida/current/source/main/genebank.hh:1.20 avida/current/source/main/genebank.hh:1.21
--- avida/current/source/main/genebank.hh:1.20	Thu Jul 31 15:34:27 2003
+++ avida/current/source/main/genebank.hh	Thu Jul 31 16:03:35 2003
@@ -20,7 +20,6 @@
 class cGenome;
 class cSpecies;
 class cStats;
-class cParasite;
 
 #define GENOTYPE_HASH_SIZE 307    // @CAO Is this an optimal number?
 #define SPECIES_HASH_SIZE 101
@@ -159,95 +158,13 @@
   inline int GetInactiveSize() const { return inactive_queue.GetSize(); }
 };
 
-class cParasiteElement {
-private:
-  cParasite * parasite;
-  cParasiteElement * next;
-  cParasiteElement * prev;
-public:
-  inline cParasiteElement(cParasite * in_gen=NULL) : parasite(in_gen) {
-    next = NULL;  prev = NULL;
-  }
-  inline ~cParasiteElement() { ; }
-
-  inline cParasite * GetParasite() const { return parasite; }
-  inline cParasiteElement * GetNext() const { return next; }
-  inline cParasiteElement * GetPrev() const { return prev; }
-
-  inline void SetNext(cParasiteElement * in_next) { next = in_next; }
-  inline void SetPrev(cParasiteElement * in_prev) { prev = in_prev; }
-};
-
-class cParasiteQueue {
-private:
-  int size;
-  cParasiteElement root;
-
-  void Remove(cParasiteElement * in_element);
-public:
-  cParasiteQueue();
-  ~cParasiteQueue();
-
-  bool OK();
-
-  void Insert(cParasite & in_parasite);
-  void Remove(cParasite & in_parasite);
-  cParasite * Find(const cGenome & in_genome) const;
-};
-
-class cParasiteControl {
-private:
-  int size;
-  cParasite * best;
-  cParasite * coalescent;
-  cParasite * threads[GENOTYPE_THREADS];
-  cGenebank & genebank;
-
-  cParasite * historic_list;
-  int historic_count;
-
-  void Insert(cParasite & in_parasite, cParasite * prev_parasite);
-  bool CheckPos(cParasite & in_parasite);
-public:
-  cParasiteControl(cGenebank & in_gb);
-  ~cParasiteControl();
-
-  bool OK();
-  void Remove(cParasite & in_parasite);
-  void Insert(cParasite & new_parasite);
-  bool Adjust(cParasite & in_parasite);
-
-  void RemoveHistoric(cParasite & in_parasite);
-  void InsertHistoric(cParasite & in_parasite);
-  int GetHistoricCount() { return historic_count; }
-
-  int UpdateCoalescent();
-
-  inline int GetSize() const { return size; }
-  inline cParasite * GetBest() const { return best; }
-  inline cParasite * GetCoalescent() const { return coalescent; }
-
-  cParasite * Find(const cGenome & in_genome) const;
-  int FindPos(cParasite & in_parasite, int max_depth = -1);
-
-  inline cParasite * Get(int thread) const { return threads[thread]; }
-  inline cParasite * Reset(int thread)
-    { return threads[thread] = best; }
-  inline cParasite * ResetHistoric(int thread)
-    { return threads[thread] = historic_list; }
-  cParasite * Next(int thread);
-  cParasite * Prev(int thread);
-};
 
 class cGenebank {
 private:
   unsigned int genotype_count[MAX_CREATURE_SIZE];
-  unsigned int parasite_count[MAX_CREATURE_SIZE];
   cGenotypeQueue active_genotypes[GENOTYPE_HASH_SIZE];
-  cParasiteQueue active_parasites[GENOTYPE_HASH_SIZE];
   cGenotypeControl * genotype_control;
   cSpeciesControl * species_control;
-  cParasiteControl * parasite_control;
   cStats & stats;
 
 private:
@@ -310,14 +227,6 @@
   unsigned int FindCRC(const cGenome & in_genome) const;
 
   void SpeciesTest(char * message, cGenotype & genotype);
-
-  void AddParasite(cParasite *in_parasite, int in_list_num = -1 );
-  cParasite * AddParasite(const cGenome & in_genome,
-			  cParasite * parent_parasite = NULL);
-  cParasite * FindParasite(const cGenome & in_genome) const;
-  void RemoveParasite(cParasite & in_parasite);
-  void ThresholdParasite(cParasite & in_parasite);
-  bool AdjustParasite(cParasite & in_parasite);
 };
 
 #endif


More information about the Avida-cvs mailing list