[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