|
|
|
@@ -58,6 +58,9 @@ lapack_int LAPACKE_cgesdd_work( int matrix_layout, char jobz, lapack_int m, |
|
|
|
lapack_int nrows_vt = ( LAPACKE_lsame( jobz, 'a' ) || |
|
|
|
( LAPACKE_lsame( jobz, 'o' ) && m>=n) ) ? n : |
|
|
|
( LAPACKE_lsame( jobz, 's' ) ? MIN(m,n) : 1); |
|
|
|
lapack_int ncols_vt = ( LAPACKE_lsame( jobz, 'a' ) || |
|
|
|
( LAPACKE_lsame( jobz, 's' ) || |
|
|
|
( LAPACKE_lsame( jobz, 'o' && m >=n) ) ? n : 1); |
|
|
|
lapack_int lda_t = MAX(1,m); |
|
|
|
lapack_int ldu_t = MAX(1,nrows_u); |
|
|
|
lapack_int ldvt_t = MAX(1,nrows_vt); |
|
|
|
@@ -75,7 +78,7 @@ lapack_int LAPACKE_cgesdd_work( int matrix_layout, char jobz, lapack_int m, |
|
|
|
LAPACKE_xerbla( "LAPACKE_cgesdd_work", info ); |
|
|
|
return info; |
|
|
|
} |
|
|
|
if( ldvt < n ) { |
|
|
|
if( ldvt < ncols_vt ) { |
|
|
|
info = -11; |
|
|
|
LAPACKE_xerbla( "LAPACKE_cgesdd_work", info ); |
|
|
|
return info; |
|
|
|
|