From e5f4edc2414d38ebb0cb8e67dc2f852f1429f7fc Mon Sep 17 00:00:00 2001 From: julie Date: Tue, 23 Feb 2016 05:43:51 +0000 Subject: [PATCH] APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com) [PATCH 32/42] Fix lapacke_?{un,or}csd2by1 - theta is real, and use ld*_t - theta is real, not complex - use ld*_t for calling LAPACK in row-major case, not ld* --- LAPACKE/include/lapacke.h | 12 ++++++------ LAPACKE/src/lapacke_cuncsd2by1.c | 2 +- LAPACKE/src/lapacke_cuncsd2by1_work.c | 10 +++++----- LAPACKE/src/lapacke_dorcsd2by1_work.c | 8 ++++---- LAPACKE/src/lapacke_sorcsd2by1_work.c | 8 ++++---- LAPACKE/src/lapacke_zuncsd2by1.c | 2 +- LAPACKE/src/lapacke_zuncsd2by1_work.c | 10 +++++----- 7 files changed, 26 insertions(+), 26 deletions(-) diff --git a/LAPACKE/include/lapacke.h b/LAPACKE/include/lapacke.h index ca4b52b..835188e 100644 --- a/LAPACKE/include/lapacke.h +++ b/LAPACKE/include/lapacke.h @@ -10590,14 +10590,14 @@ lapack_int LAPACKE_cuncsd2by1( int matrix_layout, char jobu1, char jobu2, char jobv1t, lapack_int m, lapack_int p, lapack_int q, lapack_complex_float* x11, lapack_int ldx11, lapack_complex_float* x21, lapack_int ldx21, - lapack_complex_float* theta, lapack_complex_float* u1, + float* theta, lapack_complex_float* u1, lapack_int ldu1, lapack_complex_float* u2, lapack_int ldu2, lapack_complex_float* v1t, lapack_int ldv1t ); lapack_int LAPACKE_cuncsd2by1_work( int matrix_layout, char jobu1, char jobu2, char jobv1t, lapack_int m, lapack_int p, lapack_int q, lapack_complex_float* x11, lapack_int ldx11, lapack_complex_float* x21, lapack_int ldx21, - lapack_complex_float* theta, lapack_complex_float* u1, + float* theta, lapack_complex_float* u1, lapack_int ldu1, lapack_complex_float* u2, lapack_int ldu2, lapack_complex_float* v1t, lapack_int ldv1t, lapack_complex_float* work, @@ -10931,14 +10931,14 @@ lapack_int LAPACKE_zuncsd2by1( int matrix_layout, char jobu1, char jobu2, char jobv1t, lapack_int m, lapack_int p, lapack_int q, lapack_complex_double* x11, lapack_int ldx11, lapack_complex_double* x21, lapack_int ldx21, - lapack_complex_double* theta, lapack_complex_double* u1, + double* theta, lapack_complex_double* u1, lapack_int ldu1, lapack_complex_double* u2, lapack_int ldu2, lapack_complex_double* v1t, lapack_int ldv1t ); lapack_int LAPACKE_zuncsd2by1_work( int matrix_layout, char jobu1, char jobu2, char jobv1t, lapack_int m, lapack_int p, lapack_int q, lapack_complex_double* x11, lapack_int ldx11, lapack_complex_double* x21, lapack_int ldx21, - lapack_complex_double* theta, lapack_complex_double* u1, + double* theta, lapack_complex_double* u1, lapack_int ldu1, lapack_complex_double* u2, lapack_int ldu2, lapack_complex_double* v1t, lapack_int ldv1t, lapack_complex_double* work, @@ -17127,7 +17127,7 @@ void LAPACK_cuncsd2by1( char* jobu1, char* jobu2, char* jobv1t, lapack_int* m, lapack_int* p, lapack_int* q, lapack_complex_float* x11, lapack_int* ldx11, lapack_complex_float* x21, - lapack_int* ldx21, lapack_complex_float* theta, + lapack_int* ldx21, float* theta, lapack_complex_float* u1, lapack_int* ldu1, lapack_complex_float* u2, lapack_int* ldu2, lapack_complex_float* v1t, lapack_int* ldv1t, @@ -17323,7 +17323,7 @@ void LAPACK_zuncsd2by1( char* jobu1, char* jobu2, char* jobv1t, lapack_int* m, lapack_int* p, lapack_int* q, lapack_complex_double* x11, lapack_int* ldx11, lapack_complex_double* x21, - lapack_int* ldx21, lapack_complex_double* theta, + lapack_int* ldx21, double* theta, lapack_complex_double* u1, lapack_int* ldu1, lapack_complex_double* u2, lapack_int* ldu2, lapack_complex_double* v1t, lapack_int* ldv1t, diff --git a/LAPACKE/src/lapacke_cuncsd2by1.c b/LAPACKE/src/lapacke_cuncsd2by1.c index 582ec73..bd163f0 100644 --- a/LAPACKE/src/lapacke_cuncsd2by1.c +++ b/LAPACKE/src/lapacke_cuncsd2by1.c @@ -37,7 +37,7 @@ lapack_int LAPACKE_cuncsd2by1( int matrix_layout, char jobu1, char jobu2, char jobv1t, lapack_int m, lapack_int p, lapack_int q, lapack_complex_float* x11, lapack_int ldx11, lapack_complex_float* x21, lapack_int ldx21, - lapack_complex_float* theta, lapack_complex_float* u1, + float* theta, lapack_complex_float* u1, lapack_int ldu1, lapack_complex_float* u2, lapack_int ldu2, lapack_complex_float* v1t, lapack_int ldv1t ) { diff --git a/LAPACKE/src/lapacke_cuncsd2by1_work.c b/LAPACKE/src/lapacke_cuncsd2by1_work.c index 6584673..22017b2 100644 --- a/LAPACKE/src/lapacke_cuncsd2by1_work.c +++ b/LAPACKE/src/lapacke_cuncsd2by1_work.c @@ -37,7 +37,7 @@ lapack_int LAPACKE_cuncsd2by1_work( int matrix_layout, char jobu1, char jobu2, char jobv1t, lapack_int m, lapack_int p, lapack_int q, lapack_complex_float* x11, lapack_int ldx11, lapack_complex_float* x21, lapack_int ldx21, - lapack_complex_float* theta, lapack_complex_float* u1, + float* theta, lapack_complex_float* u1, lapack_int ldu1, lapack_complex_float* u2, lapack_int ldu2, lapack_complex_float* v1t, lapack_int ldv1t, lapack_complex_float* work, @@ -99,8 +99,8 @@ lapack_int LAPACKE_cuncsd2by1_work( int matrix_layout, char jobu1, char jobu2, /* Query optimal working array(s) size if requested */ if( lrwork == -1 || lwork == -1 ) { LAPACK_cuncsd2by1( &jobu1, &jobu2, &jobv1t, &m, &p, - &q, x11, &ldx11, x21, &ldx21, - theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, + &q, x11, &ldx11_t, x21, &ldx21_t, + theta, u1, &ldu1_t, u2, &ldu2_t, v1t, &ldv1t_t, work, &lwork, rwork, &lrwork, iwork, &info ); return (info < 0) ? (info - 1) : info; } @@ -146,8 +146,8 @@ lapack_int LAPACKE_cuncsd2by1_work( int matrix_layout, char jobu1, char jobu2, ldx21_t ); /* Call LAPACK function and adjust info */ LAPACK_cuncsd2by1( &jobu1, &jobu2, &jobv1t, &m, &p, - &q, x11, &ldx11, x21, &ldx21, - theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, + &q, x11_t, &ldx11_t, x21_t, &ldx21_t, + theta, u1_t, &ldu1_t, u2_t, &ldu2_t, v1t_t, &ldv1t_t, work, &lwork, rwork, &lrwork, iwork, &info ); if( info < 0 ) { info = info - 1; diff --git a/LAPACKE/src/lapacke_dorcsd2by1_work.c b/LAPACKE/src/lapacke_dorcsd2by1_work.c index 8a080fb..fe067b6 100644 --- a/LAPACKE/src/lapacke_dorcsd2by1_work.c +++ b/LAPACKE/src/lapacke_dorcsd2by1_work.c @@ -97,8 +97,8 @@ lapack_int LAPACKE_dorcsd2by1_work( int matrix_layout, char jobu1, char jobu2, /* Query optimal working array(s) size if requested */ if( lwork == -1 ) { LAPACK_dorcsd2by1( &jobu1, &jobu2, &jobv1t, &m, &p, - &q, x11, &ldx11, x21, &ldx21, - theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, + &q, x11, &ldx11_t, x21, &ldx21_t, + theta, u1, &ldu1_t, u2, &ldu2_t, v1t, &ldv1t_t, work, &lwork, iwork, &info ); return (info < 0) ? (info - 1) : info; } @@ -144,8 +144,8 @@ lapack_int LAPACKE_dorcsd2by1_work( int matrix_layout, char jobu1, char jobu2, ldx21_t ); /* Call LAPACK function and adjust info */ LAPACK_dorcsd2by1( &jobu1, &jobu2, &jobv1t, &m, &p, - &q, x11, &ldx11, x21, &ldx21, - theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, + &q, x11_t, &ldx11_t, x21_t, &ldx21_t, + theta, u1_t, &ldu1_t, u2_t, &ldu2_t, v1t_t, &ldv1t_t, work, &lwork, iwork, &info ); if( info < 0 ) { info = info - 1; diff --git a/LAPACKE/src/lapacke_sorcsd2by1_work.c b/LAPACKE/src/lapacke_sorcsd2by1_work.c index d3d2451..8bac8ba 100644 --- a/LAPACKE/src/lapacke_sorcsd2by1_work.c +++ b/LAPACKE/src/lapacke_sorcsd2by1_work.c @@ -97,8 +97,8 @@ lapack_int LAPACKE_sorcsd2by1_work( int matrix_layout, char jobu1, char jobu2, /* Query optimal working array(s) size if requested */ if( lwork == -1 ) { LAPACK_sorcsd2by1( &jobu1, &jobu2, &jobv1t, &m, &p, - &q, x11, &ldx11, x21, &ldx21, - theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, + &q, x11, &ldx11_t, x21, &ldx21_t, + theta, u1, &ldu1_t, u2, &ldu2_t, v1t, &ldv1t_t, work, &lwork, iwork, &info ); return (info < 0) ? (info - 1) : info; } @@ -144,8 +144,8 @@ lapack_int LAPACKE_sorcsd2by1_work( int matrix_layout, char jobu1, char jobu2, ldx21_t ); /* Call LAPACK function and adjust info */ LAPACK_sorcsd2by1( &jobu1, &jobu2, &jobv1t, &m, &p, - &q, x11, &ldx11, x21, &ldx21, - theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, + &q, x11_t, &ldx11_t, x21_t, &ldx21_t, + theta, u1_t, &ldu1_t, u2_t, &ldu2_t, v1t_t, &ldv1t_t, work, &lwork, iwork, &info ); if( info < 0 ) { info = info - 1; diff --git a/LAPACKE/src/lapacke_zuncsd2by1.c b/LAPACKE/src/lapacke_zuncsd2by1.c index ddf944e..c58d4f5 100644 --- a/LAPACKE/src/lapacke_zuncsd2by1.c +++ b/LAPACKE/src/lapacke_zuncsd2by1.c @@ -37,7 +37,7 @@ lapack_int LAPACKE_zuncsd2by1( int matrix_layout, char jobu1, char jobu2, char jobv1t, lapack_int m, lapack_int p, lapack_int q, lapack_complex_double* x11, lapack_int ldx11, lapack_complex_double* x21, lapack_int ldx21, - lapack_complex_double* theta, lapack_complex_double* u1, + double* theta, lapack_complex_double* u1, lapack_int ldu1, lapack_complex_double* u2, lapack_int ldu2, lapack_complex_double* v1t, lapack_int ldv1t ) { diff --git a/LAPACKE/src/lapacke_zuncsd2by1_work.c b/LAPACKE/src/lapacke_zuncsd2by1_work.c index 437a90e..6f6cf57 100644 --- a/LAPACKE/src/lapacke_zuncsd2by1_work.c +++ b/LAPACKE/src/lapacke_zuncsd2by1_work.c @@ -37,7 +37,7 @@ lapack_int LAPACKE_zuncsd2by1_work( int matrix_layout, char jobu1, char jobu2, char jobv1t, lapack_int m, lapack_int p, lapack_int q, lapack_complex_double* x11, lapack_int ldx11, lapack_complex_double* x21, lapack_int ldx21, - lapack_complex_double* theta, lapack_complex_double* u1, + double* theta, lapack_complex_double* u1, lapack_int ldu1, lapack_complex_double* u2, lapack_int ldu2, lapack_complex_double* v1t, lapack_int ldv1t, lapack_complex_double* work, @@ -99,8 +99,8 @@ lapack_int LAPACKE_zuncsd2by1_work( int matrix_layout, char jobu1, char jobu2, /* Query optimal working array(s) size if requested */ if( lrwork == -1 || lwork == -1 ) { LAPACK_zuncsd2by1( &jobu1, &jobu2, &jobv1t, &m, &p, - &q, x11, &ldx11, x21, &ldx21, - theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, + &q, x11, &ldx11_t, x21, &ldx21_t, + theta, u1, &ldu1_t, u2, &ldu2_t, v1t, &ldv1t_t, work, &lwork, rwork, &lrwork, iwork, &info ); return (info < 0) ? (info - 1) : info; } @@ -146,8 +146,8 @@ lapack_int LAPACKE_zuncsd2by1_work( int matrix_layout, char jobu1, char jobu2, ldx21_t ); /* Call LAPACK function and adjust info */ LAPACK_zuncsd2by1( &jobu1, &jobu2, &jobv1t, &m, &p, - &q, x11, &ldx11, x21, &ldx21, - theta, u1, &ldu1, u2, &ldu2, v1t, &ldv1t, + &q, x11_t, &ldx11_t, x21_t, &ldx21_t, + theta, u1_t, &ldu1_t, u2_t, &ldu2_t, v1t_t, &ldv1t_t, work, &lwork, rwork, &lrwork, iwork, &info ); if( info < 0 ) { info = info - 1; -- 2.7.4