[Avida-cvs] [avida-svn] r423 - trunk/source/cpu

brysonda@myxo.css.msu.edu brysonda at myxo.css.msu.edu
Mon Dec 19 12:28:55 PST 2005


Author: brysonda
Date: 2005-12-19 15:28:54 -0500 (Mon, 19 Dec 2005)
New Revision: 423

Modified:
   trunk/source/cpu/cCPUMemory.h
   trunk/source/cpu/cHeadCPU.cc
   trunk/source/cpu/cHeadCPU.h
   trunk/source/cpu/cHeadMultiMem.cc
   trunk/source/cpu/cHeadMultiMem.h
Log:
Fill out the rest of the CPU flags interface.

Modified: trunk/source/cpu/cCPUMemory.h
===================================================================
--- trunk/source/cpu/cCPUMemory.h	2005-12-13 18:59:00 UTC (rev 422)
+++ trunk/source/cpu/cCPUMemory.h	2005-12-19 20:28:54 UTC (rev 423)
@@ -79,8 +79,13 @@
   void SetFlagCopyMut(int pos)    { flag_array[pos] |= MASK_COPYMUT;  }
   void SetFlagInjected(int pos)   { flag_array[pos] |= MASK_INJECTED; }
 	
-	void ClearFlagMutated(int pos)  { flag_array[pos] &= ~MASK_MUTATED;  }
-	void ClearFlagCopyMut(int pos)  { flag_array[pos] &= ~MASK_COPYMUT;  }
+	void ClearFlagCopied(int pos)     { flag_array[pos] &= ~MASK_COPIED;   }
+	void ClearFlagMutated(int pos)    { flag_array[pos] &= ~MASK_MUTATED;  }
+	void ClearFlagExecuted(int pos)   { flag_array[pos] &= ~MASK_EXECUTED; }
+	void ClearFlagBreakpoint(int pos) { flag_array[pos] &= ~MASK_BREAK;    }
+	void ClearFlagPointMut(int pos)   { flag_array[pos] &= ~MASK_POINTMUT; }
+	void ClearFlagCopyMut(int pos)    { flag_array[pos] &= ~MASK_COPYMUT;  }
+  void ClearFlagInjected(int pos)   { flag_array[pos] &= ~MASK_INJECTED; }
 
   void Insert(int pos, const cInstruction & in_inst);
   void Insert(int pos, const cGenome & in_genome);

Modified: trunk/source/cpu/cHeadCPU.cc
===================================================================
--- trunk/source/cpu/cHeadCPU.cc	2005-12-13 18:59:00 UTC (rev 422)
+++ trunk/source/cpu/cHeadCPU.cc	2005-12-19 20:28:54 UTC (rev 423)
@@ -273,12 +273,36 @@
   return cur_hardware->GetMemory().SetFlagCopyMut(position);    
 }
 
+void cHeadCPU::ClearFlagCopied()
+{
+  assert(cur_hardware != NULL);
+  return cur_hardware->GetMemory().ClearFlagCopied(position);    
+}
+
 void cHeadCPU::ClearFlagMutated()
 {
   assert(cur_hardware != NULL);
   return cur_hardware->GetMemory().ClearFlagMutated(position);    
 }
 
+void cHeadCPU::ClearFlagExecuted()
+{
+  assert(cur_hardware != NULL);
+  return cur_hardware->GetMemory().ClearFlagExecuted(position);    
+}
+
+void cHeadCPU::ClearFlagBreakpoint()
+{
+  assert(cur_hardware != NULL);
+  return cur_hardware->GetMemory().ClearFlagBreakpoint(position);    
+}
+
+void cHeadCPU::ClearFlagPointMut()
+{
+  assert(cur_hardware != NULL);
+  return cur_hardware->GetMemory().ClearFlagPointMut(position);    
+}
+
 void cHeadCPU::ClearFlagCopyMut()
 {
   assert(cur_hardware != NULL);

Modified: trunk/source/cpu/cHeadCPU.h
===================================================================
--- trunk/source/cpu/cHeadCPU.h	2005-12-13 18:59:00 UTC (rev 422)
+++ trunk/source/cpu/cHeadCPU.h	2005-12-19 20:28:54 UTC (rev 423)
@@ -96,8 +96,12 @@
   virtual void SetFlagPointMut();
   virtual void SetFlagCopyMut();
 
-  void ClearFlagMutated();
-  void ClearFlagCopyMut();
+  virtual void ClearFlagCopied();
+  virtual void ClearFlagMutated();
+  virtual void ClearFlagExecuted();
+  virtual void ClearFlagBreakpoint();
+  virtual void ClearFlagPointMut();
+  virtual void ClearFlagCopyMut();
 
   // Operator Overloading...
   virtual cHeadCPU & operator=(const cHeadCPU & in_cpu_head);

Modified: trunk/source/cpu/cHeadMultiMem.cc
===================================================================
--- trunk/source/cpu/cHeadMultiMem.cc	2005-12-13 18:59:00 UTC (rev 422)
+++ trunk/source/cpu/cHeadMultiMem.cc	2005-12-19 20:28:54 UTC (rev 423)
@@ -196,6 +196,42 @@
   GetMemory().SetFlagCopyMut(position);    
 }
 
+void cHeadMultiMem::ClearFlagCopied()
+{
+  assert(cur_hardware != NULL);
+  GetMemory().ClearFlagCopied(position);     
+}
+
+void cHeadMultiMem::ClearFlagMutated()
+{
+  assert(cur_hardware != NULL);
+  GetMemory().ClearFlagMutated(position);    
+}
+
+void cHeadMultiMem::ClearFlagExecuted()
+{
+  assert(cur_hardware != NULL);
+  GetMemory().ClearFlagExecuted(position);   
+}
+
+void cHeadMultiMem::ClearFlagBreakpoint()
+{
+  assert(cur_hardware != NULL);
+  GetMemory().ClearFlagBreakpoint(position); 
+}
+
+void cHeadMultiMem::ClearFlagPointMut()
+{
+  assert(cur_hardware != NULL);
+  GetMemory().ClearFlagPointMut(position);   
+}
+
+void cHeadMultiMem::ClearFlagCopyMut()
+{
+  assert(cur_hardware != NULL);
+  GetMemory().ClearFlagCopyMut(position);    
+}
+
 cHeadMultiMem & cHeadMultiMem::operator=(const cHeadMultiMem & in_cpu_head)
 {
   main_hardware = in_cpu_head.main_hardware;

Modified: trunk/source/cpu/cHeadMultiMem.h
===================================================================
--- trunk/source/cpu/cHeadMultiMem.h	2005-12-13 18:59:00 UTC (rev 422)
+++ trunk/source/cpu/cHeadMultiMem.h	2005-12-19 20:28:54 UTC (rev 423)
@@ -55,6 +55,13 @@
   void SetFlagPointMut();
   void SetFlagCopyMut();
 
+  void ClearFlagCopied();
+  void ClearFlagMutated();
+  void ClearFlagExecuted();
+  void ClearFlagBreakpoint();
+  void ClearFlagPointMut();
+  void ClearFlagCopyMut();
+  
   // Operator Overloading...
   cHeadMultiMem & operator=(const cHeadMultiMem & in_cpu_head);
   bool operator==(const cHeadMultiMem & in_cpu_head) const; 




More information about the Avida-cvs mailing list