|
|
@@ -47,7 +47,7 @@ double LAPACKE_zlantr_work( int matrix_order, char norm, char uplo, |
|
|
|
info = info - 1; |
|
|
|
} |
|
|
|
} else if( matrix_order == LAPACK_ROW_MAJOR ) { |
|
|
|
lapack_int lda_t = MAX(1,n); |
|
|
|
lapack_int lda_t = MAX(1,m); |
|
|
|
lapack_complex_double* a_t = NULL; |
|
|
|
/* Check leading dimension(s) */ |
|
|
|
if( lda < n ) { |
|
|
@@ -57,13 +57,13 @@ double LAPACKE_zlantr_work( int matrix_order, char norm, char uplo, |
|
|
|
} |
|
|
|
/* Allocate memory for temporary array(s) */ |
|
|
|
a_t = (lapack_complex_double*) |
|
|
|
LAPACKE_malloc( sizeof(lapack_complex_double) * lda_t * MAX(1,n) ); |
|
|
|
LAPACKE_malloc( sizeof(lapack_complex_double) * lda_t * MAX(1,MAX(m,n)) ); |
|
|
|
if( a_t == NULL ) { |
|
|
|
info = LAPACK_TRANSPOSE_MEMORY_ERROR; |
|
|
|
goto exit_level_0; |
|
|
|
} |
|
|
|
/* Transpose input matrices */ |
|
|
|
LAPACKE_ztr_trans( matrix_order, uplo, diag, n, a, lda, a_t, lda_t ); |
|
|
|
LAPACKE_ztr_trans( matrix_order, uplo, diag, MAX(m,n), a, lda, a_t, lda_t ); |
|
|
|
/* Call LAPACK function and adjust info */ |
|
|
|
res = LAPACK_zlantr( &norm, &uplo, &diag, &m, &n, a_t, &lda_t, work ); |
|
|
|
info = 0; /* LAPACK call is ok! */ |
|
|
|