float* b22d, float* b22e, float* rwork,
lapack_int lrwork );
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 );
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 LAPACKE_chetri2( int matrix_layout, char uplo, lapack_int n,
lapack_complex_float* a, lapack_int lda,
const lapack_int* ipiv );
lapack_int lda, const lapack_int* ipiv,
lapack_complex_float* e );
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 );
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 LAPACKE_csytri2( int matrix_layout, char uplo, lapack_int n,
lapack_complex_float* a, lapack_int lda,
const lapack_int* ipiv );
lapack_int n, double* a, lapack_int lda,
const lapack_int* ipiv, double* e );
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 );
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 LAPACKE_dsytri2( int matrix_layout, char uplo, lapack_int n,
double* a, lapack_int lda, const lapack_int* ipiv );
lapack_int LAPACKE_dsytri2_work( int matrix_layout, char uplo, lapack_int n,
lapack_int n, float* a, lapack_int lda,
const lapack_int* ipiv, float* e );
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 );
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 LAPACKE_ssytri2( int matrix_layout, char uplo, lapack_int n, float* a,
lapack_int lda, const lapack_int* ipiv );
lapack_int LAPACKE_ssytri2_work( int matrix_layout, char uplo, lapack_int n,
double* b22d, double* b22e, double* rwork,
lapack_int lrwork );
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 );
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 LAPACKE_zhetri2( int matrix_layout, char uplo, lapack_int n,
lapack_complex_double* a, lapack_int lda,
const lapack_int* ipiv );
lapack_int lda, const lapack_int* ipiv,
lapack_complex_double* e );
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 );
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 LAPACKE_zsytri2( int matrix_layout, char uplo, lapack_int n,
lapack_complex_double* a, lapack_int lda,
const lapack_int* ipiv );
float* b12e, float* b21d, float* b21e,
float* b22d, float* b22e, float* rwork,
lapack_int* lrwork , lapack_int *info );
-void LAPACK_cheswapr( char* uplo, lapack_int* n,
- lapack_complex_float* a, lapack_int* i1,
- lapack_int* i2 );
+void LAPACK_cheswapr( char* uplo, lapack_int* n, lapack_complex_float* a,
+ lapack_int* lda, lapack_int* i1, lapack_int* i2 );
void LAPACK_chetri2( char* uplo, lapack_int* n,
lapack_complex_float* a, lapack_int* lda,
const lapack_int* ipiv,
lapack_int* lda, const lapack_int* ipiv,
lapack_complex_float* e , lapack_int *info );
void LAPACK_csyswapr( 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 );
void LAPACK_csytri2( char* uplo, lapack_int* n,
lapack_complex_float* a, lapack_int* lda,
const lapack_int* ipiv,
void LAPACK_dsyconv( char* uplo, char* way,
lapack_int* n, double* a, lapack_int* lda,
const lapack_int* ipiv, double* e , lapack_int *info );
-void LAPACK_dsyswapr( char* uplo, lapack_int* n,
+void LAPACK_dsyswapr( char* uplo, lapack_int* n, , lapack_int lda,
double* a, lapack_int* i1, lapack_int* i2 );
void LAPACK_dsytri2( char* uplo, lapack_int* n,
double* a, lapack_int* lda,
void LAPACK_ssyconv( char* uplo, char* way,
lapack_int* n, float* a, lapack_int* lda,
const lapack_int* ipiv, float* e , lapack_int *info );
-void LAPACK_ssyswapr( char* uplo, lapack_int* n,
+void LAPACK_ssyswapr( char* uplo, lapack_int* n, lapack_int lda,
float* a, lapack_int* i1, lapack_int* i2 );
void LAPACK_ssytri2( char* uplo, lapack_int* n,
float* a, lapack_int* lda,
double* b12e, double* b21d, double* b21e,
double* b22d, double* b22e, double* rwork,
lapack_int* lrwork , lapack_int *info );
-void LAPACK_zheswapr( char* uplo, lapack_int* n,
- lapack_complex_double* a, lapack_int* i1,
- lapack_int* i2 );
+void LAPACK_zheswapr( char* uplo, lapack_int* n, lapack_complex_double* a,
+ lapack_int* lda, lapack_int* i1, lapack_int* i2 );
void LAPACK_zhetri2( char* uplo, lapack_int* n,
lapack_complex_double* a, lapack_int* lda,
const lapack_int* ipiv,
lapack_int* n, lapack_complex_double* a,
lapack_int* lda, const lapack_int* ipiv,
lapack_complex_double* e , lapack_int *info );
-void LAPACK_zsyswapr( char* uplo, lapack_int* n,
+void LAPACK_zsyswapr( char* uplo, lapack_int* n, , lapack_int lda,
lapack_complex_double* a, lapack_int* i1,
lapack_int* i2 );
void LAPACK_zsytri2( char* uplo, lapack_int* n,
#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 );
}
#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 );
}
#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:
#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 );
}
#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 );
}
#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:
#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 );
}
#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 );
}
#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:
#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 );
}
#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 );
}
#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:
#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 );
}
#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 );
}
#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:
#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 );
}
#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 );
}
#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: