aboutsummaryrefslogtreecommitdiff
path: root/LAPACKE
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2016-02-23 06:11:24 +0000
committerjulie <julielangou@users.noreply.github.com>2016-02-23 06:11:24 +0000
commitd3daaf8ace52c6142af558e34a8406cb7eb4c08f (patch)
treefcf0236aa1ae5db98b0eb02ab7f1b67ab7ae4719 /LAPACKE
parent261790e5af4c1c2e22c7ca40ff4d7ba86457cb9e (diff)
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 41/42] Fix lapacke_?tpmqrt - avoid nancheck of unset data
Diffstat (limited to 'LAPACKE')
-rw-r--r--LAPACKE/src/lapacke_ctpmqrt.c14
-rw-r--r--LAPACKE/src/lapacke_dtpmqrt.c14
-rw-r--r--LAPACKE/src/lapacke_stpmqrt.c14
-rw-r--r--LAPACKE/src/lapacke_ztpmqrt.c14
4 files changed, 44 insertions, 12 deletions
diff --git a/LAPACKE/src/lapacke_ctpmqrt.c b/LAPACKE/src/lapacke_ctpmqrt.c
index bcb92a81..c9ec1a86 100644
--- a/LAPACKE/src/lapacke_ctpmqrt.c
+++ b/LAPACKE/src/lapacke_ctpmqrt.c
@@ -41,6 +41,8 @@ lapack_int LAPACKE_ctpmqrt( int matrix_layout, char side, char trans,
lapack_complex_float* a, lapack_int lda,
lapack_complex_float* b, lapack_int ldb )
{
+ lapack_int ncols_a, nrows_a;
+ lapack_int nrows_v;
lapack_int info = 0;
lapack_complex_float* work = NULL;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
@@ -49,16 +51,22 @@ lapack_int LAPACKE_ctpmqrt( int matrix_layout, char side, char trans,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_cge_nancheck( matrix_layout, k, m, a, lda ) ) {
+ ncols_a = LAPACKE_lsame( side, 'L' ) ? n :
+ ( LAPACKE_lsame( side, 'R' ) ? k : 0 );
+ nrows_a = LAPACKE_lsame( side, 'L' ) ? k :
+ ( LAPACKE_lsame( side, 'R' ) ? m : 0 );
+ nrows_v = LAPACKE_lsame( side, 'L' ) ? m :
+ ( LAPACKE_lsame( side, 'R' ) ? n : 0 );
+ if( LAPACKE_cge_nancheck( matrix_layout, nrows_a, ncols_a, a, lda ) ) {
return -13;
}
if( LAPACKE_cge_nancheck( matrix_layout, m, n, b, ldb ) ) {
return -15;
}
- if( LAPACKE_cge_nancheck( matrix_layout, ldt, nb, t, ldt ) ) {
+ if( LAPACKE_cge_nancheck( matrix_layout, nb, k, t, ldt ) ) {
return -11;
}
- if( LAPACKE_cge_nancheck( matrix_layout, ldv, k, v, ldv ) ) {
+ if( LAPACKE_cge_nancheck( matrix_layout, nrows_v, k, v, ldv ) ) {
return -9;
}
#endif
diff --git a/LAPACKE/src/lapacke_dtpmqrt.c b/LAPACKE/src/lapacke_dtpmqrt.c
index d11f0828..dbb559e6 100644
--- a/LAPACKE/src/lapacke_dtpmqrt.c
+++ b/LAPACKE/src/lapacke_dtpmqrt.c
@@ -40,6 +40,8 @@ lapack_int LAPACKE_dtpmqrt( int matrix_layout, char side, char trans,
double* a, lapack_int lda, double* b,
lapack_int ldb )
{
+ lapack_int ncols_a, nrows_a;
+ lapack_int nrows_v;
lapack_int info = 0;
double* work = NULL;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
@@ -48,16 +50,22 @@ lapack_int LAPACKE_dtpmqrt( int matrix_layout, char side, char trans,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_dge_nancheck( matrix_layout, k, m, a, lda ) ) {
+ ncols_a = LAPACKE_lsame( side, 'L' ) ? n :
+ ( LAPACKE_lsame( side, 'R' ) ? k : 0 );
+ nrows_a = LAPACKE_lsame( side, 'L' ) ? k :
+ ( LAPACKE_lsame( side, 'R' ) ? m : 0 );
+ nrows_v = LAPACKE_lsame( side, 'L' ) ? m :
+ ( LAPACKE_lsame( side, 'R' ) ? n : 0 );
+ if( LAPACKE_dge_nancheck( matrix_layout, nrows_a, ncols_a, a, lda ) ) {
return -13;
}
if( LAPACKE_dge_nancheck( matrix_layout, m, n, b, ldb ) ) {
return -15;
}
- if( LAPACKE_dge_nancheck( matrix_layout, ldt, nb, t, ldt ) ) {
+ if( LAPACKE_dge_nancheck( matrix_layout, nb, k, t, ldt ) ) {
return -11;
}
- if( LAPACKE_dge_nancheck( matrix_layout, ldv, k, v, ldv ) ) {
+ if( LAPACKE_dge_nancheck( matrix_layout, nrows_v, k, v, ldv ) ) {
return -9;
}
#endif
diff --git a/LAPACKE/src/lapacke_stpmqrt.c b/LAPACKE/src/lapacke_stpmqrt.c
index 43c266a9..98c6848e 100644
--- a/LAPACKE/src/lapacke_stpmqrt.c
+++ b/LAPACKE/src/lapacke_stpmqrt.c
@@ -39,6 +39,8 @@ lapack_int LAPACKE_stpmqrt( int matrix_layout, char side, char trans,
lapack_int ldv, const float* t, lapack_int ldt,
float* a, lapack_int lda, float* b, lapack_int ldb )
{
+ lapack_int ncols_a, nrows_a;
+ lapack_int nrows_v;
lapack_int info = 0;
float* work = NULL;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
@@ -47,16 +49,22 @@ lapack_int LAPACKE_stpmqrt( int matrix_layout, char side, char trans,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_sge_nancheck( matrix_layout, k, m, a, lda ) ) {
+ ncols_a = LAPACKE_lsame( side, 'L' ) ? n :
+ ( LAPACKE_lsame( side, 'R' ) ? k : 0 );
+ nrows_a = LAPACKE_lsame( side, 'L' ) ? k :
+ ( LAPACKE_lsame( side, 'R' ) ? m : 0 );
+ nrows_v = LAPACKE_lsame( side, 'L' ) ? m :
+ ( LAPACKE_lsame( side, 'R' ) ? n : 0 );
+ if( LAPACKE_sge_nancheck( matrix_layout, nrows_a, ncols_a, a, lda ) ) {
return -13;
}
if( LAPACKE_sge_nancheck( matrix_layout, m, n, b, ldb ) ) {
return -15;
}
- if( LAPACKE_sge_nancheck( matrix_layout, ldt, nb, t, ldt ) ) {
+ if( LAPACKE_sge_nancheck( matrix_layout, nb, k, t, ldt ) ) {
return -11;
}
- if( LAPACKE_sge_nancheck( matrix_layout, ldv, k, v, ldv ) ) {
+ if( LAPACKE_sge_nancheck( matrix_layout, nrows_v, k, v, ldv ) ) {
return -9;
}
#endif
diff --git a/LAPACKE/src/lapacke_ztpmqrt.c b/LAPACKE/src/lapacke_ztpmqrt.c
index a591363c..bef62053 100644
--- a/LAPACKE/src/lapacke_ztpmqrt.c
+++ b/LAPACKE/src/lapacke_ztpmqrt.c
@@ -41,6 +41,8 @@ lapack_int LAPACKE_ztpmqrt( int matrix_layout, char side, char trans,
lapack_complex_double* a, lapack_int lda,
lapack_complex_double* b, lapack_int ldb )
{
+ lapack_int ncols_a, nrows_a;
+ lapack_int nrows_v;
lapack_int info = 0;
lapack_complex_double* work = NULL;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
@@ -49,16 +51,22 @@ lapack_int LAPACKE_ztpmqrt( int matrix_layout, char side, char trans,
}
#ifndef LAPACK_DISABLE_NAN_CHECK
/* Optionally check input matrices for NaNs */
- if( LAPACKE_zge_nancheck( matrix_layout, k, m, a, lda ) ) {
+ ncols_a = LAPACKE_lsame( side, 'L' ) ? n :
+ ( LAPACKE_lsame( side, 'R' ) ? k : 0 );
+ nrows_a = LAPACKE_lsame( side, 'L' ) ? k :
+ ( LAPACKE_lsame( side, 'R' ) ? m : 0 );
+ nrows_v = LAPACKE_lsame( side, 'L' ) ? m :
+ ( LAPACKE_lsame( side, 'R' ) ? n : 0 );
+ if( LAPACKE_zge_nancheck( matrix_layout, nrows_a, ncols_a, a, lda ) ) {
return -13;
}
if( LAPACKE_zge_nancheck( matrix_layout, m, n, b, ldb ) ) {
return -15;
}
- if( LAPACKE_zge_nancheck( matrix_layout, ldt, nb, t, ldt ) ) {
+ if( LAPACKE_zge_nancheck( matrix_layout, nb, k, t, ldt ) ) {
return -11;
}
- if( LAPACKE_zge_nancheck( matrix_layout, ldv, k, v, ldv ) ) {
+ if( LAPACKE_zge_nancheck( matrix_layout, nrows_v, k, v, ldv ) ) {
return -9;
}
#endif