summaryrefslogtreecommitdiff
path: root/LAPACKE/src
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2016-02-23 06:03:59 +0000
committerjulie <julielangou@users.noreply.github.com>2016-02-23 06:03:59 +0000
commitd3b48e2af1c55d54c4452893b9a9dbc633b19c38 (patch)
treefdbecaf0d5d7c210ec0cf5c4e7726190e19140b7 /LAPACKE/src
parentf44621a07e95cf1e76f9356253017c386a6517e4 (diff)
downloadlapack-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.c7
-rw-r--r--LAPACKE/src/lapacke_dgemqrt.c7
-rw-r--r--LAPACKE/src/lapacke_sgemqrt.c7
-rw-r--r--LAPACKE/src/lapacke_zgemqrt.c7
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