Apply patch submitted by Matthew Faverge, INRIA on Nov 19th 2013
authorjulie <julielangou@users.noreply.github.com>
Tue, 19 Nov 2013 09:43:31 +0000 (09:43 +0000)
committerjulie <julielangou@users.noreply.github.com>
Tue, 19 Nov 2013 09:43:31 +0000 (09:43 +0000)
There are problems  in LAPACKE complex lacn2 interfaces. Those functions don't have a "isgn" parmeter in LAPACK. This exists only for real interface. The problem is present in the four files of C and Z functions.

In Lapack:
  SUBROUTINE ZLACN2( N, V, X, EST, KASE, ISAVE )

In Lapacke:
   LAPACK_zlacn2( &n, v, x, isgn, est, kase, isave );

lapacke/example/example_DGESV_colmajor.c
lapacke/example/example_DGESV_rowmajor.c
lapacke/example/lapacke_example_aux.c
lapacke/include/lapacke.h
lapacke/src/lapacke_clacn2.c
lapacke/src/lapacke_clacn2_work.c
lapacke/src/lapacke_zlacn2.c
lapacke/src/lapacke_zlacn2_work.c

index 22675649a90a9297af75dc7194f5a79fc30304df..be0432c0c5964ccc0705f13eba58c5f9e58390c8 100644 (file)
@@ -34,6 +34,7 @@
 /* Includes */
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include "lapacke.h"
 #include "lapacke_example_aux.h"
 
index fd8eb1c062c9bf5ba4fcf845c021698059b78565..4406733ac3d40e0770ddfd068ac537bb428401f4 100644 (file)
@@ -33,6 +33,7 @@
 */
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include <lapacke.h>
 #include "lapacke_example_aux.h"
 
index d659d6a46c2888e249198d85e226c39d47d19bdb..dfd60eb1d91c5ffdcbe279164095fd6ede1ec3ee 100644 (file)
@@ -1,4 +1,5 @@
 #include <lapacke.h>
+#include <stdio.h>
 
 /* Auxiliary routine: printing a matrix */
 void print_matrix_rowmajor( char* desc, lapack_int m, lapack_int n, double* mat, lapack_int ldm ) {
index b723adfaa8ece2d6526dd2a9a9b972ff870f4f6f..9b9e8b4373619882e74a4c734075708fdbc5d010 100644 (file)
@@ -2107,10 +2107,10 @@ lapack_int LAPACKE_slacn2( lapack_int n, float* v, float* x, lapack_int* isgn,
 lapack_int LAPACKE_dlacn2( lapack_int n, double* v, double* x, lapack_int* isgn,
                            double* est, lapack_int* kase, lapack_int* isave );
 lapack_int LAPACKE_clacn2( lapack_int n, lapack_complex_float* v,
-                           lapack_complex_float* x, lapack_int* isgn,
+                           lapack_complex_float* x,
                            float* est, lapack_int* kase, lapack_int* isave );
 lapack_int LAPACKE_zlacn2( lapack_int n, lapack_complex_double* v,
-                           lapack_complex_double* x, lapack_int* isgn,
+                           lapack_complex_double* x,
                            double* est, lapack_int* kase, lapack_int* isave );
 
 lapack_int LAPACKE_slacpy( int matrix_order, char uplo, lapack_int m,
@@ -6908,11 +6908,11 @@ lapack_int LAPACKE_dlacn2_work( lapack_int n, double* v, double* x,
                                 lapack_int* isgn, double* est, lapack_int* kase,
                                 lapack_int* isave );
 lapack_int LAPACKE_clacn2_work( lapack_int n, lapack_complex_float* v,
-                                lapack_complex_float* x, lapack_int* isgn,
+                                lapack_complex_float* x,
                                 float* est, lapack_int* kase,
                                 lapack_int* isave );
 lapack_int LAPACKE_zlacn2_work( lapack_int n, lapack_complex_double* v,
-                                lapack_complex_double* x, lapack_int* isgn,
+                                lapack_complex_double* x,
                                 double* est, lapack_int* kase,
                                 lapack_int* isave );
 
index 9c045a4fe092150db5934ff22ea9c57ae1bcd095..890c486f89a7c1442d8869ea47c4f8a8f5c52e48 100644 (file)
@@ -34,7 +34,7 @@
 #include "lapacke_utils.h"
 
 lapack_int LAPACKE_clacn2( lapack_int n, lapack_complex_float* v,
-                           lapack_complex_float* x, lapack_int* isgn,
+                           lapack_complex_float* x,
                            float* est, lapack_int* kase, lapack_int* isave )
 {
 #ifndef LAPACK_DISABLE_NAN_CHECK
@@ -46,5 +46,5 @@ lapack_int LAPACKE_clacn2( lapack_int n, lapack_complex_float* v,
         return -3;
     }
 #endif
-    return LAPACKE_clacn2_work( n, v, x, isgn, est, kase, isave );
+    return LAPACKE_clacn2_work( n, v, x, est, kase, isave );
 }
index 6691a598fcf23b92e1310fc3e480b4004454c147..970b7d7dd59266878cf4951007634218b3d6de25 100644 (file)
 #include "lapacke_utils.h"
 
 lapack_int LAPACKE_clacn2_work( lapack_int n, lapack_complex_float* v,
-                                lapack_complex_float* x, lapack_int* isgn,
+                                lapack_complex_float* x,
                                 float* est, lapack_int* kase,
                                 lapack_int* isave )
 {
     lapack_int info = 0;
     /* Call LAPACK function and adjust info */
-    LAPACK_clacn2( &n, v, x, isgn, est, kase, isave );
+    LAPACK_clacn2( &n, v, x, est, kase, isave );
     return info;
 }
index 41810aa4d0aee738f0b9d8896343c52acddb6974..e64c0716aa50fb9ef96821769f6176f97742ea57 100644 (file)
@@ -34,7 +34,7 @@
 #include "lapacke_utils.h"
 
 lapack_int LAPACKE_zlacn2( lapack_int n, lapack_complex_double* v,
-                           lapack_complex_double* x, lapack_int* isgn,
+                           lapack_complex_double* x,
                            double* est, lapack_int* kase, lapack_int* isave )
 {
 #ifndef LAPACK_DISABLE_NAN_CHECK
@@ -46,5 +46,5 @@ lapack_int LAPACKE_zlacn2( lapack_int n, lapack_complex_double* v,
         return -3;
     }
 #endif
-    return LAPACKE_zlacn2_work( n, v, x, isgn, est, kase, isave );
+    return LAPACKE_zlacn2_work( n, v, x, est, kase, isave );
 }
index 9e65c599d40711a91d7d7594bce753a1bb6e08a3..6babae5a233e1b4f9070a7b1bf66c9ebf0f9116d 100644 (file)
 #include "lapacke_utils.h"
 
 lapack_int LAPACKE_zlacn2_work( lapack_int n, lapack_complex_double* v,
-                                lapack_complex_double* x, lapack_int* isgn,
+                                lapack_complex_double* x,
                                 double* est, lapack_int* kase,
                                 lapack_int* isave )
 {
     lapack_int info = 0;
     /* Call LAPACK function and adjust info */
-    LAPACK_zlacn2( &n, v, x, isgn, est, kase, isave );
+    LAPACK_zlacn2( &n, v, x, est, kase, isave );
     return info;
 }