Fix leading dimension check of eigen-/Schur vectors (Reference-LAPACK PR 665)

This commit is contained in:
Martin Kroeker 2022-11-13 17:50:49 +01:00 committed by GitHub
parent 645633e321
commit 2226a82f2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 16 additions and 16 deletions

View File

@ -59,12 +59,12 @@ lapack_int LAPACKE_sgeev_work( int matrix_layout, char jobvl, char jobvr,
LAPACKE_xerbla( "LAPACKE_sgeev_work", info );
return info;
}
if( ldvl < n ) {
if( ldvl < 1 || ( LAPACKE_lsame( jobvl, 'v' ) && ldvl < n ) ) {
info = -10;
LAPACKE_xerbla( "LAPACKE_sgeev_work", info );
return info;
}
if( ldvr < n ) {
if( ldvr < 1 || ( LAPACKE_lsame( jobvr, 'v' ) && ldvr < n ) ) {
info = -12;
LAPACKE_xerbla( "LAPACKE_sgeev_work", info );
return info;

View File

@ -63,12 +63,12 @@ lapack_int LAPACKE_sgeevx_work( int matrix_layout, char balanc, char jobvl,
LAPACKE_xerbla( "LAPACKE_sgeevx_work", info );
return info;
}
if( ldvl < n ) {
if( ldvl < 1 || ( LAPACKE_lsame( jobvl, 'v' ) && ldvl < n ) ) {
info = -12;
LAPACKE_xerbla( "LAPACKE_sgeevx_work", info );
return info;
}
if( ldvr < n ) {
if( ldvr < 1 || ( LAPACKE_lsame( jobvr, 'v' ) && ldvr < n ) ) {
info = -14;
LAPACKE_xerbla( "LAPACKE_sgeevx_work", info );
return info;

View File

@ -70,12 +70,12 @@ lapack_int LAPACKE_sgges_work( int matrix_layout, char jobvsl, char jobvsr,
LAPACKE_xerbla( "LAPACKE_sgges_work", info );
return info;
}
if( ldvsl < n ) {
if( ldvsl < 1 || ( LAPACKE_lsame( jobvsl, 'v' ) && ldvsl < n ) ) {
info = -16;
LAPACKE_xerbla( "LAPACKE_sgges_work", info );
return info;
}
if( ldvsr < n ) {
if( ldvsr < 1 || ( LAPACKE_lsame( jobvsr, 'v' ) && ldvsr < n ) ) {
info = -18;
LAPACKE_xerbla( "LAPACKE_sgges_work", info );
return info;

View File

@ -73,12 +73,12 @@ lapack_int LAPACKE_sggesx_work( int matrix_layout, char jobvsl, char jobvsr,
LAPACKE_xerbla( "LAPACKE_sggesx_work", info );
return info;
}
if( ldvsl < n ) {
if( ldvsl < 1 || ( LAPACKE_lsame( jobvsl, 'v' ) && ldvsl < n ) ) {
info = -17;
LAPACKE_xerbla( "LAPACKE_sggesx_work", info );
return info;
}
if( ldvsr < n ) {
if( ldvsr < 1 || ( LAPACKE_lsame( jobvsr, 'v' ) && ldvsr < n ) ) {
info = -19;
LAPACKE_xerbla( "LAPACKE_sggesx_work", info );
return info;

View File

@ -61,12 +61,12 @@ lapack_int LAPACKE_zgeev_work( int matrix_layout, char jobvl, char jobvr,
LAPACKE_xerbla( "LAPACKE_zgeev_work", info );
return info;
}
if( ldvl < n ) {
if( ldvl < 1 || ( LAPACKE_lsame( jobvl, 'v' ) && ldvl < n ) ) {
info = -9;
LAPACKE_xerbla( "LAPACKE_zgeev_work", info );
return info;
}
if( ldvr < n ) {
if( ldvr < 1 || ( LAPACKE_lsame( jobvr, 'v' ) && ldvr < n ) ) {
info = -11;
LAPACKE_xerbla( "LAPACKE_zgeev_work", info );
return info;

View File

@ -65,12 +65,12 @@ lapack_int LAPACKE_zgeevx_work( int matrix_layout, char balanc, char jobvl,
LAPACKE_xerbla( "LAPACKE_zgeevx_work", info );
return info;
}
if( ldvl < n ) {
if( ldvl < 1 || ( LAPACKE_lsame( jobvl, 'v' ) && ldvl < n ) ) {
info = -11;
LAPACKE_xerbla( "LAPACKE_zgeevx_work", info );
return info;
}
if( ldvr < n ) {
if( ldvr < 1 || ( LAPACKE_lsame( jobvr, 'v' ) && ldvr < n ) ) {
info = -13;
LAPACKE_xerbla( "LAPACKE_zgeevx_work", info );
return info;

View File

@ -72,12 +72,12 @@ lapack_int LAPACKE_zgges_work( int matrix_layout, char jobvsl, char jobvsr,
LAPACKE_xerbla( "LAPACKE_zgges_work", info );
return info;
}
if( ldvsl < n ) {
if( ldvsl < 1 || ( LAPACKE_lsame( jobvsl, 'v' ) && ldvsl < n ) ) {
info = -15;
LAPACKE_xerbla( "LAPACKE_zgges_work", info );
return info;
}
if( ldvsr < n ) {
if( ldvsr < 1 || ( LAPACKE_lsame( jobvsr, 'v' ) && ldvsr < n ) ) {
info = -17;
LAPACKE_xerbla( "LAPACKE_zgges_work", info );
return info;

View File

@ -76,12 +76,12 @@ lapack_int LAPACKE_zggesx_work( int matrix_layout, char jobvsl, char jobvsr,
LAPACKE_xerbla( "LAPACKE_zggesx_work", info );
return info;
}
if( ldvsl < n ) {
if( ldvsl < 1 || ( LAPACKE_lsame( jobvsl, 'v' ) && ldvsl < n ) ) {
info = -16;
LAPACKE_xerbla( "LAPACKE_zggesx_work", info );
return info;
}
if( ldvsr < n ) {
if( ldvsr < 1 || ( LAPACKE_lsame( jobvsr, 'v' ) && ldvsr < n ) ) {
info = -18;
LAPACKE_xerbla( "LAPACKE_zggesx_work", info );
return info;