[Avida-SVN] r1179 - development/source/main

brysonda at myxo.css.msu.edu brysonda at myxo.css.msu.edu
Thu Jan 11 13:25:46 PST 2007


Author: brysonda
Date: 2007-01-11 16:25:46 -0500 (Thu, 11 Jan 2007)
New Revision: 1179

Modified:
   development/source/main/cTaskContext.h
   development/source/main/cTaskLib.cc
Log:
Fix erroneous return value in cTaskContext.  Fix division by zero possibility in new Divide task.

Modified: development/source/main/cTaskContext.h
===================================================================
--- development/source/main/cTaskContext.h	2007-01-11 20:56:44 UTC (rev 1178)
+++ development/source/main/cTaskContext.h	2007-01-11 21:25:46 UTC (rev 1179)
@@ -87,7 +87,7 @@
     m_task_states->Find(m_task_entry, ret);
     return ret;
   }
-  inline cTaskState* AddTaskState(cTaskState* value) { m_task_states->Add(m_task_entry, value); }
+  inline void AddTaskState(cTaskState* value) { m_task_states->Add(m_task_entry, value); }
 };
 
 

Modified: development/source/main/cTaskLib.cc
===================================================================
--- development/source/main/cTaskLib.cc	2007-01-11 20:56:44 UTC (rev 1178)
+++ development/source/main/cTaskLib.cc	2007-01-11 21:25:46 UTC (rev 1179)
@@ -16,10 +16,8 @@
 #include "cTaskState.h"
 
 #include <stdlib.h>
-extern "C" {
 #include <math.h>
 #include <limits.h>
-}
 
 
 static const float fCastPrecision = 10000.0f;
@@ -2161,10 +2159,11 @@
   const int test_output = ctx.GetOutputBuffer()[0];
   const int input_size = input_buffer.GetNumStored();
   
-  int diff = abs((input_buffer[0] / input_buffer[0]) - test_output);
+  int diff = INT_MAX;
   
   for (int i = 0; i < input_size; i ++) {
     for (int j = 0; j < input_size; j ++) {
+      if (input_buffer[j] == 0) continue;
       int cur_diff = abs((input_buffer[i] / input_buffer[j]) - test_output);
       if (cur_diff < diff) diff = cur_diff;
     }




More information about the Avida-cvs mailing list