aboutsummaryrefslogtreecommitdiff
path: root/LAPACKE/src/lapacke_ctprfb.c
diff options
context:
space:
mode:
Diffstat (limited to 'LAPACKE/src/lapacke_ctprfb.c')
-rw-r--r--LAPACKE/src/lapacke_ctprfb.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/LAPACKE/src/lapacke_ctprfb.c b/LAPACKE/src/lapacke_ctprfb.c
index a007f924..45840e1a 100644
--- a/LAPACKE/src/lapacke_ctprfb.c
+++ b/LAPACKE/src/lapacke_ctprfb.c
@@ -41,6 +41,7 @@ lapack_int LAPACKE_ctprfb( int matrix_layout, char side, char trans, char direct
lapack_complex_float* a, lapack_int lda,
lapack_complex_float* b, lapack_int ldb )
{
+ lapack_int ncols_v, nrows_v;
lapack_int info = 0;
lapack_int ldwork;
lapack_int work_size;
@@ -51,16 +52,28 @@ lapack_int LAPACKE_ctprfb( int matrix_layout, char side, char trans, char direct
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
+ if( LAPACKE_lsame( storev, 'C' ) ) {
+ ncols_v = k;
+ nrows_v = LAPACKE_lsame( side, 'L' ) ? m :
+ ( LAPACKE_lsame( side, 'R' ) ? n : 0 );
+ } else if( LAPACKE_lsame( storev, 'R' ) ) {
+ ncols_v = LAPACKE_lsame( side, 'L' ) ? m :
+ ( LAPACKE_lsame( side, 'R' ) ? n : 0 );
+ nrows_v = k;
+ } else {
+ ncols_v = 0;
+ nrows_v = 0;
+ }
if( LAPACKE_cge_nancheck( matrix_layout, k, m, a, lda ) ) {
return -14;
}
if( LAPACKE_cge_nancheck( matrix_layout, m, n, b, ldb ) ) {
return -16;
}
- if( LAPACKE_cge_nancheck( matrix_layout, ldt, k, t, ldt ) ) {
+ if( LAPACKE_cge_nancheck( matrix_layout, k, k, t, ldt ) ) {
return -12;
}
- if( LAPACKE_cge_nancheck( matrix_layout, ldv, k, v, ldv ) ) {
+ if( LAPACKE_cge_nancheck( matrix_layout, nrows_v, ncols_v, v, ldv ) ) {
return -10;
}
#endif