summaryrefslogtreecommitdiff
path: root/LAPACKE/src
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2016-02-23 06:09:01 +0000
committerjulie <julielangou@users.noreply.github.com>2016-02-23 06:09:01 +0000
commit9a19b59b1e44e8b93ddc998ca450ce75fe80de33 (patch)
tree765bc12c3af3e402a8ea4b06b31a67f48906623a /LAPACKE/src
parentd3b48e2af1c55d54c4452893b9a9dbc633b19c38 (diff)
downloadlapack-9a19b59b1e44e8b93ddc998ca450ce75fe80de33.tar.gz
lapack-9a19b59b1e44e8b93ddc998ca450ce75fe80de33.tar.bz2
lapack-9a19b59b1e44e8b93ddc998ca450ce75fe80de33.zip
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 38/42] Fix lapacke_???swapr* - missing parameter lda, and more - lda should not be missed - a has leading dimension lda, not n - a_t has leading dimension lda_t, not n
Diffstat (limited to 'LAPACKE/src')
-rw-r--r--LAPACKE/src/lapacke_cheswapr.c8
-rw-r--r--LAPACKE/src/lapacke_cheswapr_work.c15
-rw-r--r--LAPACKE/src/lapacke_csyswapr.c8
-rw-r--r--LAPACKE/src/lapacke_csyswapr_work.c15
-rw-r--r--LAPACKE/src/lapacke_dsyswapr.c6
-rw-r--r--LAPACKE/src/lapacke_dsyswapr_work.c14
-rw-r--r--LAPACKE/src/lapacke_ssyswapr.c6
-rw-r--r--LAPACKE/src/lapacke_ssyswapr_work.c14
-rw-r--r--LAPACKE/src/lapacke_zheswapr.c8
-rw-r--r--LAPACKE/src/lapacke_zheswapr_work.c15
-rw-r--r--LAPACKE/src/lapacke_zsyswapr.c8
-rw-r--r--LAPACKE/src/lapacke_zsyswapr_work.c15
12 files changed, 70 insertions, 62 deletions
diff --git a/LAPACKE/src/lapacke_cheswapr.c b/LAPACKE/src/lapacke_cheswapr.c
index 7963eb37..268816b2 100644
--- a/LAPACKE/src/lapacke_cheswapr.c
+++ b/LAPACKE/src/lapacke_cheswapr.c
@@ -34,8 +34,8 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_cheswapr( int matrix_layout, char uplo, lapack_int n,
- lapack_complex_float* a, lapack_int i1,
- lapack_int i2 )
+ lapack_complex_float* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_cheswapr", -1 );
@@ -43,9 +43,9 @@ lapack_int LAPACKE_cheswapr( int matrix_layout, char uplo, lapack_int n,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, n ) ) {
+ if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
#endif
- return LAPACKE_cheswapr_work( matrix_layout, uplo, n, a, i1, i2 );
+ return LAPACKE_cheswapr_work( matrix_layout, uplo, n, a, lda, i1, i2 );
}
diff --git a/LAPACKE/src/lapacke_cheswapr_work.c b/LAPACKE/src/lapacke_cheswapr_work.c
index e41b3a2c..b6d4621c 100644
--- a/LAPACKE/src/lapacke_cheswapr_work.c
+++ b/LAPACKE/src/lapacke_cheswapr_work.c
@@ -34,32 +34,33 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_cheswapr_work( int matrix_layout, char uplo, lapack_int n,
- lapack_complex_float* a, lapack_int i1,
- lapack_int i2 )
+ lapack_complex_float* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
- LAPACK_cheswapr( &uplo, &n, a, &i1, &i2 );
+ LAPACK_cheswapr( &uplo, &n, a, &lda, &i1, &i2 );
if( info < 0 ) {
info = info - 1;
}
} else if( matrix_layout == LAPACK_ROW_MAJOR ) {
+ lapack_int lda_t = MAX(1,n);
lapack_complex_float* a_t = NULL;
/* Allocate memory for temporary array(s) */
a_t = (lapack_complex_float*)
- LAPACKE_malloc( sizeof(lapack_complex_float) * n * MAX(1,n) );
+ LAPACKE_malloc( sizeof(lapack_complex_float) * lda_t * MAX(1,n) );
if( a_t == NULL ) {
info = LAPACK_TRANSPOSE_MEMORY_ERROR;
goto exit_level_0;
}
/* Transpose input matrices */
- LAPACKE_che_trans( matrix_layout, uplo, n, a, n, a_t, n );
+ LAPACKE_che_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
- LAPACK_cheswapr( &uplo, &n, a_t, &i1, &i2 );
+ LAPACK_cheswapr( &uplo, &n, a_t, &lda_t, &i1, &i2 );
info = 0; /* LAPACK call is ok! */
/* Transpose output matrices */
- LAPACKE_che_trans( LAPACK_COL_MAJOR, uplo, n, a_t, n, a, n );
+ LAPACKE_che_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );
/* Release memory and exit */
LAPACKE_free( a_t );
exit_level_0:
diff --git a/LAPACKE/src/lapacke_csyswapr.c b/LAPACKE/src/lapacke_csyswapr.c
index bb6992b0..51e1b89d 100644
--- a/LAPACKE/src/lapacke_csyswapr.c
+++ b/LAPACKE/src/lapacke_csyswapr.c
@@ -34,8 +34,8 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_csyswapr( int matrix_layout, char uplo, lapack_int n,
- lapack_complex_float* a, lapack_int i1,
- lapack_int i2 )
+ lapack_complex_float* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_csyswapr", -1 );
@@ -43,9 +43,9 @@ lapack_int LAPACKE_csyswapr( int matrix_layout, char uplo, lapack_int n,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_csy_nancheck( matrix_layout, uplo, n, a, n ) ) {
+ if( LAPACKE_csy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
#endif
- return LAPACKE_csyswapr_work( matrix_layout, uplo, n, a, i1, i2 );
+ return LAPACKE_csyswapr_work( matrix_layout, uplo, n, a, lda, i1, i2 );
}
diff --git a/LAPACKE/src/lapacke_csyswapr_work.c b/LAPACKE/src/lapacke_csyswapr_work.c
index ff8507bb..5ce2893e 100644
--- a/LAPACKE/src/lapacke_csyswapr_work.c
+++ b/LAPACKE/src/lapacke_csyswapr_work.c
@@ -34,32 +34,33 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_csyswapr_work( int matrix_layout, char uplo, lapack_int n,
- lapack_complex_float* a, lapack_int i1,
- lapack_int i2 )
+ lapack_complex_float* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
- LAPACK_csyswapr( &uplo, &n, a, &i1, &i2 );
+ LAPACK_csyswapr( &uplo, &n, a, &lda, &i1, &i2 );
if( info < 0 ) {
info = info - 1;
}
} else if( matrix_layout == LAPACK_ROW_MAJOR ) {
+ lapack_int lda_t = MAX(1,n);
lapack_complex_float* a_t = NULL;
/* Allocate memory for temporary array(s) */
a_t = (lapack_complex_float*)
- LAPACKE_malloc( sizeof(lapack_complex_float) * n * MAX(1,n) );
+ LAPACKE_malloc( sizeof(lapack_complex_float) * lda_t * MAX(1,n) );
if( a_t == NULL ) {
info = LAPACK_TRANSPOSE_MEMORY_ERROR;
goto exit_level_0;
}
/* Transpose input matrices */
- LAPACKE_csy_trans( matrix_layout, uplo, n, a, n, a_t, n );
+ LAPACKE_csy_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
- LAPACK_csyswapr( &uplo, &n, a_t, &i1, &i2 );
+ LAPACK_csyswapr( &uplo, &n, a_t, &lda_t, &i1, &i2 );
info = 0; /* LAPACK call is ok! */
/* Transpose output matrices */
- LAPACKE_csy_trans( LAPACK_COL_MAJOR, uplo, n, a_t, n, a, n );
+ LAPACKE_csy_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );
/* Release memory and exit */
LAPACKE_free( a_t );
exit_level_0:
diff --git a/LAPACKE/src/lapacke_dsyswapr.c b/LAPACKE/src/lapacke_dsyswapr.c
index 728ef090..f8eada25 100644
--- a/LAPACKE/src/lapacke_dsyswapr.c
+++ b/LAPACKE/src/lapacke_dsyswapr.c
@@ -34,7 +34,7 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_dsyswapr( int matrix_layout, char uplo, lapack_int n,
- double* a, lapack_int i1, lapack_int i2 )
+ double* a, lapack_int lda, lapack_int i1, lapack_int i2 )
{
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_dsyswapr", -1 );
@@ -42,9 +42,9 @@ lapack_int LAPACKE_dsyswapr( int matrix_layout, char uplo, lapack_int n,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_dsy_nancheck( matrix_layout, uplo, n, a, n ) ) {
+ if( LAPACKE_dsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
#endif
- return LAPACKE_dsyswapr_work( matrix_layout, uplo, n, a, i1, i2 );
+ return LAPACKE_dsyswapr_work( matrix_layout, uplo, n, a, lda, i1, i2 );
}
diff --git a/LAPACKE/src/lapacke_dsyswapr_work.c b/LAPACKE/src/lapacke_dsyswapr_work.c
index 2855593f..117bdbd3 100644
--- a/LAPACKE/src/lapacke_dsyswapr_work.c
+++ b/LAPACKE/src/lapacke_dsyswapr_work.c
@@ -34,30 +34,32 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_dsyswapr_work( int matrix_layout, char uplo, lapack_int n,
- double* a, lapack_int i1, lapack_int i2 )
+ double* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
- LAPACK_dsyswapr( &uplo, &n, a, &i1, &i2 );
+ LAPACK_dsyswapr( &uplo, &n, a, &lda, &i1, &i2 );
if( info < 0 ) {
info = info - 1;
}
} else if( matrix_layout == LAPACK_ROW_MAJOR ) {
+ lapack_int lda_t = MAX(1,n);
double* a_t = NULL;
/* Allocate memory for temporary array(s) */
- a_t = (double*)LAPACKE_malloc( sizeof(double) * n * MAX(1,n) );
+ a_t = (double*)LAPACKE_malloc( sizeof(double) * lda_t * MAX(1,n) );
if( a_t == NULL ) {
info = LAPACK_TRANSPOSE_MEMORY_ERROR;
goto exit_level_0;
}
/* Transpose input matrices */
- LAPACKE_dsy_trans( matrix_layout, uplo, n, a, n, a_t, n );
+ LAPACKE_dsy_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
- LAPACK_dsyswapr( &uplo, &n, a_t, &i1, &i2 );
+ LAPACK_dsyswapr( &uplo, &n, a_t, &lda_t, &i1, &i2 );
info = 0; /* LAPACK call is ok! */
/* Transpose output matrices */
- LAPACKE_dsy_trans( LAPACK_COL_MAJOR, uplo, n, a_t, n, a, n );
+ LAPACKE_dsy_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );
/* Release memory and exit */
LAPACKE_free( a_t );
exit_level_0:
diff --git a/LAPACKE/src/lapacke_ssyswapr.c b/LAPACKE/src/lapacke_ssyswapr.c
index c207edf2..fbbecff6 100644
--- a/LAPACKE/src/lapacke_ssyswapr.c
+++ b/LAPACKE/src/lapacke_ssyswapr.c
@@ -34,7 +34,7 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_ssyswapr( int matrix_layout, char uplo, lapack_int n,
- float* a, lapack_int i1, lapack_int i2 )
+ float* a, lapack_int lda, lapack_int i1, lapack_int i2 )
{
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_ssyswapr", -1 );
@@ -42,9 +42,9 @@ lapack_int LAPACKE_ssyswapr( int matrix_layout, char uplo, lapack_int n,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_ssy_nancheck( matrix_layout, uplo, n, a, n ) ) {
+ if( LAPACKE_ssy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
#endif
- return LAPACKE_ssyswapr_work( matrix_layout, uplo, n, a, i1, i2 );
+ return LAPACKE_ssyswapr_work( matrix_layout, uplo, n, a, lda, i1, i2 );
}
diff --git a/LAPACKE/src/lapacke_ssyswapr_work.c b/LAPACKE/src/lapacke_ssyswapr_work.c
index e1381588..b157ac6c 100644
--- a/LAPACKE/src/lapacke_ssyswapr_work.c
+++ b/LAPACKE/src/lapacke_ssyswapr_work.c
@@ -34,30 +34,32 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_ssyswapr_work( int matrix_layout, char uplo, lapack_int n,
- float* a, lapack_int i1, lapack_int i2 )
+ float* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
- LAPACK_ssyswapr( &uplo, &n, a, &i1, &i2 );
+ LAPACK_ssyswapr( &uplo, &n, a, &lda, &i1, &i2 );
if( info < 0 ) {
info = info - 1;
}
} else if( matrix_layout == LAPACK_ROW_MAJOR ) {
+ lapack_int lda_t = MAX(1,n);
float* a_t = NULL;
/* Allocate memory for temporary array(s) */
- a_t = (float*)LAPACKE_malloc( sizeof(float) * n * MAX(1,n) );
+ a_t = (float*)LAPACKE_malloc( sizeof(float) * lda_t * MAX(1,n) );
if( a_t == NULL ) {
info = LAPACK_TRANSPOSE_MEMORY_ERROR;
goto exit_level_0;
}
/* Transpose input matrices */
- LAPACKE_ssy_trans( matrix_layout, uplo, n, a, n, a_t, n );
+ LAPACKE_ssy_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
- LAPACK_ssyswapr( &uplo, &n, a_t, &i1, &i2 );
+ LAPACK_ssyswapr( &uplo, &n, a_t, &lda_t, &i1, &i2 );
info = 0; /* LAPACK call is ok! */
/* Transpose output matrices */
- LAPACKE_ssy_trans( LAPACK_COL_MAJOR, uplo, n, a_t, n, a, n );
+ LAPACKE_ssy_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );
/* Release memory and exit */
LAPACKE_free( a_t );
exit_level_0:
diff --git a/LAPACKE/src/lapacke_zheswapr.c b/LAPACKE/src/lapacke_zheswapr.c
index 93350fbd..28edca6a 100644
--- a/LAPACKE/src/lapacke_zheswapr.c
+++ b/LAPACKE/src/lapacke_zheswapr.c
@@ -34,8 +34,8 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_zheswapr( int matrix_layout, char uplo, lapack_int n,
- lapack_complex_double* a, lapack_int i1,
- lapack_int i2 )
+ lapack_complex_double* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_zheswapr", -1 );
@@ -43,9 +43,9 @@ lapack_int LAPACKE_zheswapr( int matrix_layout, char uplo, lapack_int n,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_zhe_nancheck( matrix_layout, uplo, n, a, n ) ) {
+ if( LAPACKE_zhe_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
#endif
- return LAPACKE_zheswapr_work( matrix_layout, uplo, n, a, i1, i2 );
+ return LAPACKE_zheswapr_work( matrix_layout, uplo, n, a, lda, i1, i2 );
}
diff --git a/LAPACKE/src/lapacke_zheswapr_work.c b/LAPACKE/src/lapacke_zheswapr_work.c
index e62f987b..94dc2fcf 100644
--- a/LAPACKE/src/lapacke_zheswapr_work.c
+++ b/LAPACKE/src/lapacke_zheswapr_work.c
@@ -34,32 +34,33 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_zheswapr_work( int matrix_layout, char uplo, lapack_int n,
- lapack_complex_double* a, lapack_int i1,
- lapack_int i2 )
+ lapack_complex_double* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
- LAPACK_zheswapr( &uplo, &n, a, &i1, &i2 );
+ LAPACK_zheswapr( &uplo, &n, a, &lda, &i1, &i2 );
if( info < 0 ) {
info = info - 1;
}
} else if( matrix_layout == LAPACK_ROW_MAJOR ) {
+ lapack_int lda_t = MAX(1,n);
lapack_complex_double* a_t = NULL;
/* Allocate memory for temporary array(s) */
a_t = (lapack_complex_double*)
- LAPACKE_malloc( sizeof(lapack_complex_double) * n * MAX(1,n) );
+ LAPACKE_malloc( sizeof(lapack_complex_double) * lda_t * MAX(1,n) );
if( a_t == NULL ) {
info = LAPACK_TRANSPOSE_MEMORY_ERROR;
goto exit_level_0;
}
/* Transpose input matrices */
- LAPACKE_zhe_trans( matrix_layout, uplo, n, a, n, a_t, n );
+ LAPACKE_zhe_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
- LAPACK_zheswapr( &uplo, &n, a_t, &i1, &i2 );
+ LAPACK_zheswapr( &uplo, &n, a_t, &lda_t, &i1, &i2 );
info = 0; /* LAPACK call is ok! */
/* Transpose output matrices */
- LAPACKE_zhe_trans( LAPACK_COL_MAJOR, uplo, n, a_t, n, a, n );
+ LAPACKE_zhe_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );
/* Release memory and exit */
LAPACKE_free( a_t );
exit_level_0:
diff --git a/LAPACKE/src/lapacke_zsyswapr.c b/LAPACKE/src/lapacke_zsyswapr.c
index 46e948d1..777f2b46 100644
--- a/LAPACKE/src/lapacke_zsyswapr.c
+++ b/LAPACKE/src/lapacke_zsyswapr.c
@@ -34,8 +34,8 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_zsyswapr( int matrix_layout, char uplo, lapack_int n,
- lapack_complex_double* a, lapack_int i1,
- lapack_int i2 )
+ lapack_complex_double* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_zsyswapr", -1 );
@@ -43,9 +43,9 @@ lapack_int LAPACKE_zsyswapr( int matrix_layout, char uplo, lapack_int n,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_zsy_nancheck( matrix_layout, uplo, n, a, n ) ) {
+ if( LAPACKE_zsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
#endif
- return LAPACKE_zsyswapr_work( matrix_layout, uplo, n, a, i1, i2 );
+ return LAPACKE_zsyswapr_work( matrix_layout, uplo, n, a, lda, i1, i2 );
}
diff --git a/LAPACKE/src/lapacke_zsyswapr_work.c b/LAPACKE/src/lapacke_zsyswapr_work.c
index 1959a231..cfe9649d 100644
--- a/LAPACKE/src/lapacke_zsyswapr_work.c
+++ b/LAPACKE/src/lapacke_zsyswapr_work.c
@@ -34,32 +34,33 @@
#include "lapacke_utils.h"
lapack_int LAPACKE_zsyswapr_work( int matrix_layout, char uplo, lapack_int n,
- lapack_complex_double* a, lapack_int i1,
- lapack_int i2 )
+ lapack_complex_double* a, lapack_int lda,
+ lapack_int i1, lapack_int i2 )
{
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
- LAPACK_zsyswapr( &uplo, &n, a, &i1, &i2 );
+ LAPACK_zsyswapr( &uplo, &n, a, &lda, &i1, &i2 );
if( info < 0 ) {
info = info - 1;
}
} else if( matrix_layout == LAPACK_ROW_MAJOR ) {
+ lapack_int lda_t = MAX(1,n);
lapack_complex_double* a_t = NULL;
/* Allocate memory for temporary array(s) */
a_t = (lapack_complex_double*)
- LAPACKE_malloc( sizeof(lapack_complex_double) * n * MAX(1,n) );
+ LAPACKE_malloc( sizeof(lapack_complex_double) * lda_t * MAX(1,n) );
if( a_t == NULL ) {
info = LAPACK_TRANSPOSE_MEMORY_ERROR;
goto exit_level_0;
}
/* Transpose input matrices */
- LAPACKE_zsy_trans( matrix_layout, uplo, n, a, n, a_t, n );
+ LAPACKE_zsy_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
- LAPACK_zsyswapr( &uplo, &n, a_t, &i1, &i2 );
+ LAPACK_zsyswapr( &uplo, &n, a_t, &lda_t, &i1, &i2 );
info = 0; /* LAPACK call is ok! */
/* Transpose output matrices */
- LAPACKE_zsy_trans( LAPACK_COL_MAJOR, uplo, n, a_t, n, a, n );
+ LAPACKE_zsy_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );
/* Release memory and exit */
LAPACKE_free( a_t );
exit_level_0: