[Avida-SVN] r1191 - development/source/main
brysonda at myxo.css.msu.edu
brysonda at myxo.css.msu.edu
Mon Jan 15 09:22:58 PST 2007
Author: brysonda
Date: 2007-01-15 12:22:58 -0500 (Mon, 15 Jan 2007)
New Revision: 1191
Modified:
development/source/main/cTaskLib.cc
Log:
Extend math task difference range storage.
Also change order of application of abs and double conversion.
Modified: development/source/main/cTaskLib.cc
===================================================================
--- development/source/main/cTaskLib.cc 2007-01-15 12:28:31 UTC (rev 1190)
+++ development/source/main/cTaskLib.cc 2007-01-15 17:22:58 UTC (rev 1191)
@@ -2111,15 +2111,15 @@
const cArgContainer& args = ctx.GetTaskEntry()->GetArguments();
const tBuffer<int>& input_buffer = ctx.GetInputBuffer();
- const int test_output = ctx.GetOutputBuffer()[0];
+ const long test_output = ctx.GetOutputBuffer()[0];
const int input_size = input_buffer.GetNumStored();
- int diff = INT_MAX;
+ long diff = (INT_MAX + 1) * 2;
for (int i = 0; i < input_size; i ++) {
for (int j = 0; j < input_size; j ++) {
if (i == j) continue;
- int cur_diff = abs((input_buffer[i] * input_buffer[j]) - test_output);
+ long cur_diff = labs(long(input_buffer[i] * input_buffer[j]) - test_output);
if (cur_diff < diff) diff = cur_diff;
}
}
@@ -2155,15 +2155,15 @@
const cArgContainer& args = ctx.GetTaskEntry()->GetArguments();
const tBuffer<int>& input_buffer = ctx.GetInputBuffer();
- const int test_output = ctx.GetOutputBuffer()[0];
+ const long test_output = ctx.GetOutputBuffer()[0];
const int input_size = input_buffer.GetNumStored();
- int diff = INT_MAX;
+ long diff = (INT_MAX + 1) * 2;
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);
+ long cur_diff = labs(long(input_buffer[i] / input_buffer[j]) - test_output);
if (cur_diff < diff) diff = cur_diff;
}
}
@@ -2199,13 +2199,13 @@
const cArgContainer& args = ctx.GetTaskEntry()->GetArguments();
const tBuffer<int>& input_buffer = ctx.GetInputBuffer();
- const int test_output = ctx.GetOutputBuffer()[0];
+ const long test_output = ctx.GetOutputBuffer()[0];
const int input_size = input_buffer.GetNumStored();
- int diff = INT_MAX;
+ long diff = (INT_MAX + 1) * 2;
for (int i = 0; i < input_size; i ++) {
- int cur_diff = abs(static_cast<int>(log(static_cast<double>(abs(input_buffer[i] ? input_buffer[i] : 1)))) - test_output);
+ long cur_diff = labs(long(log(fabs(double(input_buffer[i] ? input_buffer[i] : 1)))) - test_output);
if (cur_diff < diff) diff = cur_diff;
}
@@ -2241,13 +2241,13 @@
const cArgContainer& args = ctx.GetTaskEntry()->GetArguments();
const tBuffer<int>& input_buffer = ctx.GetInputBuffer();
- const int test_output = ctx.GetOutputBuffer()[0];
+ const long test_output = ctx.GetOutputBuffer()[0];
const int input_size = input_buffer.GetNumStored();
- int diff = INT_MAX;
+ long diff = (INT_MAX + 1) * 2;
for (int i = 0; i < input_size; i ++) {
- int cur_diff = abs(static_cast<int>(log2(static_cast<double>(abs(input_buffer[i] ? input_buffer[i] : 1)))) - test_output);
+ long cur_diff = labs(long(log2(fabs(double(input_buffer[i] ? input_buffer[i] : 1)))) - test_output);
if (cur_diff < diff) diff = cur_diff;
}
@@ -2283,13 +2283,13 @@
const cArgContainer& args = ctx.GetTaskEntry()->GetArguments();
const tBuffer<int>& input_buffer = ctx.GetInputBuffer();
- const int test_output = ctx.GetOutputBuffer()[0];
+ const long test_output = ctx.GetOutputBuffer()[0];
const int input_size = input_buffer.GetNumStored();
- int diff = INT_MAX;
+ long diff = (INT_MAX + 1) * 2;
for (int i = 0; i < input_size; i ++) {
- int cur_diff = abs(static_cast<int>(log10(static_cast<double>(abs(input_buffer[i] ? input_buffer[i] : 1)))) - test_output);
+ long cur_diff = labs(long(log10(fabs(double(input_buffer[i] ? input_buffer[i] : 1)))) - test_output);
if (cur_diff < diff) diff = cur_diff;
}
@@ -2325,13 +2325,13 @@
const cArgContainer& args = ctx.GetTaskEntry()->GetArguments();
const tBuffer<int>& input_buffer = ctx.GetInputBuffer();
- const int test_output = ctx.GetOutputBuffer()[0];
+ const long test_output = ctx.GetOutputBuffer()[0];
const int input_size = input_buffer.GetNumStored();
- int diff = INT_MAX;
+ long diff = (INT_MAX + 1) * 2;
for (int i = 0; i < input_size; i ++) {
- int cur_diff = abs(static_cast<int>(sqrt(static_cast<double>(abs(input_buffer[i])))) - test_output);
+ long cur_diff = labs(long(sqrt(fabs(double(input_buffer[i])))) - test_output);
if (cur_diff < diff) diff = cur_diff;
}
More information about the Avida-cvs
mailing list