{
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 ) {
}
#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;