Bug#753089: Memory leak fix

2014-07-06 Thread Lars Kristian Lundin
I agree.

Thanks,
-Lars.


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#753089: Patch

2014-07-03 Thread Lars Kristian Lundin
tags -1 + patch
Index: cplcore/tests/cpl_matrix-test.c
===
--- cplcore/tests/cpl_matrix-test.c (revision 160547)
+++ cplcore/tests/cpl_matrix-test.c (working copy)
@@ -200,6 +200,7 @@
 FILE   * stream;
 const double * data;
 cpl_boolean  do_bench;
+cpl_boolean  did_fail;
 cpl_error_code code;
 const cpl_matrix * null; /* This one is expected to be NULL */

@@ -1579,6 +1580,8 @@
   cpl_msg_info(, Try to solve increasingly large systems A^TAx=A^Tb, 
with A(i,j) = 1/(2*n-(1+i+j)) and x(j) = 1);

+  k = 0;
+  did_fail = CPL_FALSE;
   for (size = 1; size  nreps * nelem; size++) {
   cpl_matrix * p2;
   double error, residual;
@@ -1595,6 +1598,12 @@
   cpl_test_nonnull(product);

   xsolv = cpl_matrix_solve_normal(matrix, product);
+  if (cpl_error_get_code()) {
+  cpl_test_error(CPL_ERROR_SINGULAR_MATRIX);
+  cpl_test_null(xsolv);
+  did_fail = CPL_TRUE;
+  break;
+  }
   cpl_test_nonnull(xsolv);

   x_min = cpl_matrix_get_min(xsolv);
@@ -1631,7 +1640,17 @@
x_min=%g, x_max=%g, size, x_min, x_max);
   break;
   }
+  k++;
+  }

+  if (did_fail) {
+  /* Solving stopped prematurely. Normally, we should stop when the
system
+ is near-singular and so ill-conditioned that the solution has an
+ element where not even the most significant bit is correct.
For this
+ final iteration we will allow the solver to alternatively fail
(due a
+ singular matrix).
+ This should add support for Debian sbuild on mips64el */
+  cpl_test_leq(6, k);
   }

   cpl_msg_info(, Compute the determinant of increasingly large 


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org