diff options
author | julie <julielangou@users.noreply.github.com> | 2016-02-23 06:03:59 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2016-02-23 06:03:59 +0000 |
commit | d3b48e2af1c55d54c4452893b9a9dbc633b19c38 (patch) | |
tree | fdbecaf0d5d7c210ec0cf5c4e7726190e19140b7 /LAPACKE/src | |
parent | f44621a07e95cf1e76f9356253017c386a6517e4 (diff) | |
download | lapack-d3b48e2af1c55d54c4452893b9a9dbc633b19c38.tar.gz lapack-d3b48e2af1c55d54c4452893b9a9dbc633b19c38.tar.bz2 lapack-d3b48e2af1c55d54c4452893b9a9dbc633b19c38.zip |
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 37/42] Fix lapacke_?gemqrt - avoid nancheck of unset data
Diffstat (limited to 'LAPACKE/src')
-rw-r--r-- | LAPACKE/src/lapacke_cgemqrt.c | 7 | ||||
-rw-r--r-- | LAPACKE/src/lapacke_dgemqrt.c | 7 | ||||
-rw-r--r-- | LAPACKE/src/lapacke_sgemqrt.c | 7 | ||||
-rw-r--r-- | LAPACKE/src/lapacke_zgemqrt.c | 7 |
4 files changed, 20 insertions, 8 deletions
diff --git a/LAPACKE/src/lapacke_cgemqrt.c b/LAPACKE/src/lapacke_cgemqrt.c index 5f539f30..4dde4c98 100644 --- a/LAPACKE/src/lapacke_cgemqrt.c +++ b/LAPACKE/src/lapacke_cgemqrt.c @@ -40,6 +40,7 @@ lapack_int LAPACKE_cgemqrt( int matrix_layout, char side, char trans, lapack_int ldt, lapack_complex_float* c, lapack_int ldc ) { + lapack_int nrows_v; lapack_int info = 0; lapack_complex_float* work = NULL; if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) { @@ -48,13 +49,15 @@ lapack_int LAPACKE_cgemqrt( int matrix_layout, char side, char trans, } #ifndef LAPACK_DISABLE_NAN_CHECK /* Optionally check input matrices for NaNs */ + nrows_v = LAPACKE_lsame( side, 'L' ) ? m : + ( LAPACKE_lsame( side, 'R' ) ? n : 0 ); if( LAPACKE_cge_nancheck( matrix_layout, m, n, c, ldc ) ) { return -12; } - if( LAPACKE_cge_nancheck( matrix_layout, ldt, nb, t, ldt ) ) { + if( LAPACKE_cge_nancheck( matrix_layout, nb, k, t, ldt ) ) { return -10; } - if( LAPACKE_cge_nancheck( matrix_layout, ldv, k, v, ldv ) ) { + if( LAPACKE_cge_nancheck( matrix_layout, nrows_v, k, v, ldv ) ) { return -8; } #endif diff --git a/LAPACKE/src/lapacke_dgemqrt.c b/LAPACKE/src/lapacke_dgemqrt.c index 68cc6deb..b5456a0e 100644 --- a/LAPACKE/src/lapacke_dgemqrt.c +++ b/LAPACKE/src/lapacke_dgemqrt.c @@ -39,6 +39,7 @@ lapack_int LAPACKE_dgemqrt( int matrix_layout, char side, char trans, const double* t, lapack_int ldt, double* c, lapack_int ldc ) { + lapack_int nrows_v; lapack_int info = 0; double* work = NULL; if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) { @@ -47,13 +48,15 @@ lapack_int LAPACKE_dgemqrt( int matrix_layout, char side, char trans, } #ifndef LAPACK_DISABLE_NAN_CHECK /* Optionally check input matrices for NaNs */ + nrows_v = LAPACKE_lsame( side, 'L' ) ? m : + ( LAPACKE_lsame( side, 'R' ) ? n : 0 ); if( LAPACKE_dge_nancheck( matrix_layout, m, n, c, ldc ) ) { return -12; } - if( LAPACKE_dge_nancheck( matrix_layout, ldt, nb, t, ldt ) ) { + if( LAPACKE_dge_nancheck( matrix_layout, nb, k, t, ldt ) ) { return -10; } - if( LAPACKE_dge_nancheck( matrix_layout, ldv, k, v, ldv ) ) { + if( LAPACKE_dge_nancheck( matrix_layout, nrows_v, k, v, ldv ) ) { return -8; } #endif diff --git a/LAPACKE/src/lapacke_sgemqrt.c b/LAPACKE/src/lapacke_sgemqrt.c index 93d4fcaf..5cf83e01 100644 --- a/LAPACKE/src/lapacke_sgemqrt.c +++ b/LAPACKE/src/lapacke_sgemqrt.c @@ -39,6 +39,7 @@ lapack_int LAPACKE_sgemqrt( int matrix_layout, char side, char trans, const float* t, lapack_int ldt, float* c, lapack_int ldc ) { + lapack_int nrows_v; lapack_int info = 0; float* work = NULL; if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) { @@ -47,13 +48,15 @@ lapack_int LAPACKE_sgemqrt( int matrix_layout, char side, char trans, } #ifndef LAPACK_DISABLE_NAN_CHECK /* Optionally check input matrices for NaNs */ + nrows_v = LAPACKE_lsame( side, 'L' ) ? m : + ( LAPACKE_lsame( side, 'R' ) ? n : 0 ); if( LAPACKE_sge_nancheck( matrix_layout, m, n, c, ldc ) ) { return -12; } - if( LAPACKE_sge_nancheck( matrix_layout, ldt, nb, t, ldt ) ) { + if( LAPACKE_sge_nancheck( matrix_layout, nb, k, t, ldt ) ) { return -10; } - if( LAPACKE_sge_nancheck( matrix_layout, ldv, k, v, ldv ) ) { + if( LAPACKE_sge_nancheck( matrix_layout, nrows_v, k, v, ldv ) ) { return -8; } #endif diff --git a/LAPACKE/src/lapacke_zgemqrt.c b/LAPACKE/src/lapacke_zgemqrt.c index d8b1540b..a17d5f54 100644 --- a/LAPACKE/src/lapacke_zgemqrt.c +++ b/LAPACKE/src/lapacke_zgemqrt.c @@ -40,6 +40,7 @@ lapack_int LAPACKE_zgemqrt( int matrix_layout, char side, char trans, lapack_int ldt, lapack_complex_double* c, lapack_int ldc ) { + lapack_int nrows_v; lapack_int info = 0; lapack_complex_double* work = NULL; if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) { @@ -48,13 +49,15 @@ lapack_int LAPACKE_zgemqrt( int matrix_layout, char side, char trans, } #ifndef LAPACK_DISABLE_NAN_CHECK /* Optionally check input matrices for NaNs */ + nrows_v = LAPACKE_lsame( side, 'L' ) ? m : + ( LAPACKE_lsame( side, 'R' ) ? n : 0 ); if( LAPACKE_zge_nancheck( matrix_layout, m, n, c, ldc ) ) { return -12; } - if( LAPACKE_zge_nancheck( matrix_layout, ldt, nb, t, ldt ) ) { + if( LAPACKE_zge_nancheck( matrix_layout, nb, k, t, ldt ) ) { return -10; } - if( LAPACKE_zge_nancheck( matrix_layout, ldv, k, v, ldv ) ) { + if( LAPACKE_zge_nancheck( matrix_layout, nrows_v, k, v, ldv ) ) { return -8; } #endif |