[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