[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