From 1dcb80f8b84ab7e738b0609fc49244cde39070b8 Mon Sep 17 00:00:00 2001 From: julie Date: Wed, 6 May 2015 04:21:45 +0000 Subject: [PATCH] Propagate fix to bug111 to lapacke - minimum work space - Issue reported by Andrew James on LAPACK mailing list on April 30th 2015 --- LAPACKE/src/lapacke_cgesdd.c | 4 ++-- LAPACKE/src/lapacke_zgesdd.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/LAPACKE/src/lapacke_cgesdd.c b/LAPACKE/src/lapacke_cgesdd.c index b42bad2..214973f 100644 --- a/LAPACKE/src/lapacke_cgesdd.c +++ b/LAPACKE/src/lapacke_cgesdd.c @@ -59,9 +59,9 @@ lapack_int LAPACKE_cgesdd( int matrix_layout, char jobz, lapack_int m, #endif /* Additional scalars initializations for work arrays */ if( LAPACKE_lsame( jobz, 'n' ) ) { - lrwork = MAX(1,5*MIN(m,n)); + lrwork = MAX(1,7*MIN(m,n)); } else { - lrwork = (size_t)5*MAX(1,MIN(m,n))*MAX(1,MIN(m,n))+7*MIN(m,n); + lrwork = (size_t)MIN(m,n)*MAX(5*MIN(m,n)+7,2*MAX(m,n)+2*MIN(m,n)+1); } /* Allocate memory for working array(s) */ iwork = (lapack_int*) diff --git a/LAPACKE/src/lapacke_zgesdd.c b/LAPACKE/src/lapacke_zgesdd.c index 0c64506..c89f8a9 100644 --- a/LAPACKE/src/lapacke_zgesdd.c +++ b/LAPACKE/src/lapacke_zgesdd.c @@ -59,9 +59,9 @@ lapack_int LAPACKE_zgesdd( int matrix_layout, char jobz, lapack_int m, #endif /* Additional scalars initializations for work arrays */ if( LAPACKE_lsame( jobz, 'n' ) ) { - lrwork = MAX(1,5*MIN(m,n)); + lrwork = MAX(1,7*MIN(m,n)); } else { - lrwork = (size_t)5*MAX(1,MIN(m,n))*MAX(1,MIN(m,n))+7*MIN(m,n); + lrwork = (size_t)MIN(m,n)*MAX(5*MIN(m,n)+7,2*MAX(m,n)+2*MIN(m,n)+1); } /* Allocate memory for working array(s) */ iwork = (lapack_int*) -- 2.7.4