Fix failing test cases
authorTamas Nepusz <ntamas@gmail.com>
Tue, 15 Jan 2019 14:10:32 +0000 (14:10 +0000)
committerAndreas Tille <tille@debian.org>
Tue, 15 Jan 2019 14:10:32 +0000 (14:10 +0000)
Last-Changed: Thu, 28 Aug 2014 10:48:43 +0100
Bug: https://github.com/igraph/igraph/issues/676
Applied-Upstream: 0.7.2, https://github.com/igraph/igraph/commit/c2afdb1

Gbp-Pq: Name fix_test_cases.patch

examples/simple/igraph_arpack_rnsolve.c
examples/simple/tls2.c

index 4ab65d05d3eb907784607b55e472572e3ba36a8a..5ca2c6974e53c10e774d7b007e9d48a514259583 100644 (file)
@@ -66,6 +66,10 @@ int main() {
   igraph_arpack_rnsolve(cb2, /*extra=*/ &data, &options, /*storage=*/ 0, 
                        &values, &vectors);
 
+  while (options.nev < igraph_matrix_nrow(&values)) {
+    igraph_matrix_remove_row(&values, igraph_matrix_nrow(&values)-1);
+  }
+  
   if (MATRIX(values, 2, 1) > 0) {
     MATRIX(values, 2, 1) = -MATRIX(values, 2, 1);
     MATRIX(values, 3, 1) = -MATRIX(values, 3, 1);    
@@ -84,6 +88,10 @@ int main() {
   igraph_arpack_rnsolve(cb2, /*extra=*/ &data, &options, /*storage=*/ 0, 
                        &values, &vectors);
 
+  while (options.nev < igraph_matrix_nrow(&values)) {
+    igraph_matrix_remove_row(&values, igraph_matrix_nrow(&values)-1);
+  }
+  
   if (MATRIX(values, 2, 1) > 0) {
     MATRIX(values, 2, 1) = -MATRIX(values, 2, 1);
   }
@@ -101,6 +109,10 @@ int main() {
   igraph_arpack_rnsolve(cb2, /*extra=*/ &data, &options, /*storage=*/ 0, 
                        &values, &vectors);
 
+  while (options.nev < igraph_matrix_nrow(&values)) {
+    igraph_matrix_remove_row(&values, igraph_matrix_nrow(&values)-1);
+  }
+  
   igraph_matrix_print(&values);
   printf("---\n");
   igraph_matrix_print(&vectors);
@@ -114,6 +126,10 @@ int main() {
   igraph_arpack_rnsolve(cb2, /*extra=*/ &data, &options, /*storage=*/ 0, 
                        &values, &vectors);
 
+  while (options.nev < igraph_matrix_nrow(&values)) {
+    igraph_matrix_remove_row(&values, igraph_matrix_nrow(&values)-1);
+  }
+  
   igraph_matrix_print(&values);
   printf("---\n");
   igraph_matrix_print(&vectors);
index 8bc62a6627ce1db46c6541db779a6486135d094f..d1bf70735d84495cee3b3616e30cae4e19137199 100644 (file)
@@ -105,10 +105,12 @@ void *thread_function(void *arg) {
   }
   
   while (1) {
+#if IGRAPH_THREAD_SAFE
     igraphdsaupd_(&ido, options.bmat, &options.n, options.which,
                  &options.nev, &options.tol, resid, &options.ncv, v, 
                  &options.ldv, options.iparam, options.ipntr, workd,
                  workl, &options.lworkl, &options.info);
+#endif
     
     if (ido == -1 || ido == 1) {
       
@@ -142,12 +144,14 @@ void *thread_function(void *arg) {
     return 0;
   }
 
+#if IGRAPH_THREAD_SAFE
   igraphdseupd_(&rvec, all, select, d, v, &options.ldv,
                &options.sigma, options.bmat, &options.n,
                options.which, &options.nev, &options.tol,
                resid, &options.ncv, v, &options.ldv, options.iparam,
                options.ipntr, workd, workl, &options.lworkl,
                &options.ierr);
+#endif
   
   if (options.ierr != 0) {
     printf("ARPACK error\n");