Fix workspace computation for side=L
From netlib PR#144
This commit is contained in:
@@ -41,6 +41,7 @@ lapack_int LAPACKE_stpmqrt( int matrix_layout, char side, char trans,
|
||||
{
|
||||
lapack_int ncols_a, nrows_a;
|
||||
lapack_int nrows_v;
|
||||
lapack_int lwork;
|
||||
lapack_int info = 0;
|
||||
float* work = NULL;
|
||||
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
|
||||
@@ -69,7 +70,9 @@ lapack_int LAPACKE_stpmqrt( int matrix_layout, char side, char trans,
|
||||
}
|
||||
#endif
|
||||
/* Allocate memory for working array(s) */
|
||||
work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,m) * MAX(1,nb) );
|
||||
lwork = LAPACKE_lsame( side, 'L' ) ? MAX(1,nb) * MAX(1,n) :
|
||||
( LAPACKE_lsame( side, 'R' ) ? MAX(1,m) * MAX(1,nb) : 0 );
|
||||
work = (float*)LAPACKE_malloc( sizeof(float) * lwork );
|
||||
if( work == NULL ) {
|
||||
info = LAPACK_WORK_MEMORY_ERROR;
|
||||
goto exit_level_0;
|
||||
|
||||
Reference in New Issue
Block a user