Skip to content

Added an ILAENV2STAGE, fixed ILAENV in [CZ]HEEVR_2STAGE #177

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Sep 9, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions INSTALL/make.inc.gfortran
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ CFLAGS = -O3
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
#
FORTRAN = gfortran
OPTS = -O2 -frecursive
OPTS = -O2
DRVOPTS = $(OPTS)
NOOPT = -O0 -frecursive
NOOPT = -O0

# Define LOADER and LOADOPTS to refer to the loader and desired
# load options for your machine.
Expand Down
4 changes: 2 additions & 2 deletions INSTALL/make.inc.gfortran_debug
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ CFLAGS = -g
# and handle these quantities appropriately. As a consequence, one
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
#
FORTRAN = gfortran -fimplicit-none -g -frecursive
FORTRAN = gfortran -fimplicit-none -g
OPTS =
DRVOPTS = $(OPTS)
NOOPT = -g -O0 -frecursive
NOOPT = -g -O0

# Define LOADER and LOADOPTS to refer to the loader and desired
# load options for your machine.
Expand Down
2 changes: 1 addition & 1 deletion SRC/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
#
#######################################################################

set(ALLAUX ilaenv.f ieeeck.f lsamen.f iparmq.f iparam2stage.F
set(ALLAUX ilaenv.f ilaenv2stage.f ieeeck.f lsamen.f iparmq.f iparam2stage.F
ilaprec.f ilatrans.f ilauplo.f iladiag.f chla_transtype.f
../INSTALL/ilaver.f ../INSTALL/lsame.f xerbla.f xerbla_array.f
../INSTALL/slamch.f)
Expand Down
3 changes: 2 additions & 1 deletion SRC/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ include ../make.inc
#
#######################################################################

ALLAUX = ilaenv.o ieeeck.o lsamen.o xerbla.o xerbla_array.o iparmq.o iparam2stage.o \
ALLAUX = ilaenv.o ilaenv2stage.o ieeeck.o lsamen.o xerbla.o xerbla_array.o \
iparmq.o iparam2stage.o \
ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
../INSTALL/ilaver.o ../INSTALL/lsame.o ../INSTALL/slamch.o

Expand Down
13 changes: 8 additions & 5 deletions SRC/chbev_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -242,9 +242,9 @@ SUBROUTINE CHBEV_2STAGE( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
REAL SLAMCH, CLANHB
EXTERNAL LSAME, SLAMCH, CLANHB, ILAENV
EXTERNAL LSAME, SLAMCH, CLANHB, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL SSCAL, SSTERF, XERBLA, CLASCL, CSTEQR,
Expand Down Expand Up @@ -281,9 +281,12 @@ SUBROUTINE CHBEV_2STAGE( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ,
LWMIN = 1
WORK( 1 ) = LWMIN
ELSE
IB = ILAENV( 18, 'CHETRD_HB2ST', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'CHETRD_HB2ST', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'CHETRD_HB2ST', JOBZ, N, KD, IB, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_HB2ST', JOBZ,
$ N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'CHETRD_HB2ST', JOBZ,
$ N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'CHETRD_HB2ST', JOBZ,
$ N, KD, IB, -1 )
LWMIN = LHTRD + LWTRD
WORK( 1 ) = LWMIN
ENDIF
Expand Down
10 changes: 5 additions & 5 deletions SRC/chbevd_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -296,9 +296,9 @@ SUBROUTINE CHBEVD_2STAGE( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
REAL SLAMCH, CLANHB
EXTERNAL LSAME, SLAMCH, CLANHB, ILAENV
EXTERNAL LSAME, SLAMCH, CLANHB, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL SSCAL, SSTERF, XERBLA, CGEMM, CLACPY,
Expand All @@ -321,9 +321,9 @@ SUBROUTINE CHBEVD_2STAGE( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ,
LRWMIN = 1
LIWMIN = 1
ELSE
IB = ILAENV( 18, 'CHETRD_HB2ST', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'CHETRD_HB2ST', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'CHETRD_HB2ST', JOBZ, N, KD, IB, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_HB2ST', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'CHETRD_HB2ST', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'CHETRD_HB2ST', JOBZ, N, KD, IB, -1 )
IF( WANTZ ) THEN
LWMIN = 2*N**2
LRWMIN = 1 + 5*N + 2*N**2
Expand Down
13 changes: 8 additions & 5 deletions SRC/chbevx_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -369,9 +369,9 @@ SUBROUTINE CHBEVX_2STAGE( JOBZ, RANGE, UPLO, N, KD, AB, LDAB,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
REAL SLAMCH, CLANHB
EXTERNAL LSAME, SLAMCH, CLANHB, ILAENV
EXTERNAL LSAME, SLAMCH, CLANHB, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL SCOPY, SSCAL, SSTEBZ, SSTERF, XERBLA, CCOPY,
Expand Down Expand Up @@ -429,9 +429,12 @@ SUBROUTINE CHBEVX_2STAGE( JOBZ, RANGE, UPLO, N, KD, AB, LDAB,
LWMIN = 1
WORK( 1 ) = LWMIN
ELSE
IB = ILAENV( 18, 'CHETRD_HB2ST', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'CHETRD_HB2ST', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'CHETRD_HB2ST', JOBZ, N, KD, IB, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_HB2ST', JOBZ,
$ N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'CHETRD_HB2ST', JOBZ,
$ N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'CHETRD_HB2ST', JOBZ,
$ N, KD, IB, -1 )
LWMIN = LHTRD + LWTRD
WORK( 1 ) = LWMIN
ENDIF
Expand Down
12 changes: 6 additions & 6 deletions SRC/cheev_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -222,9 +222,9 @@ SUBROUTINE CHEEV_2STAGE( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
REAL SLAMCH, CLANHE
EXTERNAL LSAME, ILAENV, SLAMCH, CLANHE
EXTERNAL LSAME, SLAMCH, CLANHE, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL SSCAL, SSTERF, XERBLA, CLASCL, CSTEQR,
Expand Down Expand Up @@ -253,10 +253,10 @@ SUBROUTINE CHEEV_2STAGE( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK,
END IF
*
IF( INFO.EQ.0 ) THEN
KD = ILAENV( 17, 'CHETRD_2STAGE', JOBZ, N, -1, -1, -1 )
IB = ILAENV( 18, 'CHETRD_2STAGE', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
KD = ILAENV2STAGE( 1, 'CHETRD_2STAGE', JOBZ, N, -1, -1, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_2STAGE', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWMIN = N + LHTRD + LWTRD
WORK( 1 ) = LWMIN
*
Expand Down
16 changes: 10 additions & 6 deletions SRC/cheevd_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -291,9 +291,9 @@ SUBROUTINE CHEEVD_2STAGE( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
REAL SLAMCH, CLANHE
EXTERNAL LSAME, ILAENV, SLAMCH, CLANHE
EXTERNAL LSAME, SLAMCH, CLANHE, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL SSCAL, SSTERF, XERBLA, CLACPY, CLASCL,
Expand Down Expand Up @@ -327,10 +327,14 @@ SUBROUTINE CHEEVD_2STAGE( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK,
LRWMIN = 1
LIWMIN = 1
ELSE
KD = ILAENV( 17, 'CHETRD_2STAGE', JOBZ, N, -1, -1, -1 )
IB = ILAENV( 18, 'CHETRD_2STAGE', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
KD = ILAENV2STAGE( 1, 'CHETRD_2STAGE', JOBZ,
$ N, -1, -1, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_2STAGE', JOBZ,
$ N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'CHETRD_2STAGE', JOBZ,
$ N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'CHETRD_2STAGE', JOBZ,
$ N, KD, IB, -1 )
IF( WANTZ ) THEN
LWMIN = 2*N + N*N
LRWMIN = 1 + 5*N + 2*N**2
Expand Down
12 changes: 6 additions & 6 deletions SRC/cheevr_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -445,9 +445,9 @@ SUBROUTINE CHEEVR_2STAGE( JOBZ, RANGE, UPLO, N, A, LDA, VL, VU,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV, ILAENV2STAGE
REAL SLAMCH, CLANSY
EXTERNAL LSAME, ILAENV, SLAMCH, CLANSY
EXTERNAL LSAME, SLAMCH, CLANSY, ILAENV, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL SCOPY, SSCAL, SSTEBZ, SSTERF, XERBLA, CSSCAL,
Expand All @@ -471,10 +471,10 @@ SUBROUTINE CHEEVR_2STAGE( JOBZ, RANGE, UPLO, N, A, LDA, VL, VU,
LQUERY = ( ( LWORK.EQ.-1 ) .OR. ( LRWORK.EQ.-1 ) .OR.
$ ( LIWORK.EQ.-1 ) )
*
KD = ILAENV( 17, 'DSYTRD_2STAGE', JOBZ, N, -1, -1, -1 )
IB = ILAENV( 18, 'DSYTRD_2STAGE', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'DSYTRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'DSYTRD_2STAGE', JOBZ, N, KD, IB, -1 )
KD = ILAENV2STAGE( 1, 'CHETRD_2STAGE', JOBZ, N, -1, -1, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_2STAGE', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWMIN = N + LHTRD + LWTRD
LRWMIN = MAX( 1, 24*N )
LIWMIN = MAX( 1, 10*N )
Expand Down
16 changes: 10 additions & 6 deletions SRC/cheevx_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -345,9 +345,9 @@ SUBROUTINE CHEEVX_2STAGE( JOBZ, RANGE, UPLO, N, A, LDA, VL, VU,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
REAL SLAMCH, CLANHE
EXTERNAL LSAME, ILAENV, SLAMCH, CLANHE
EXTERNAL LSAME, SLAMCH, CLANHE, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL SCOPY, SSCAL, SSTEBZ, SSTERF, XERBLA, CSSCAL,
Expand Down Expand Up @@ -402,10 +402,14 @@ SUBROUTINE CHEEVX_2STAGE( JOBZ, RANGE, UPLO, N, A, LDA, VL, VU,
LWMIN = 1
WORK( 1 ) = LWMIN
ELSE
KD = ILAENV( 17, 'CHETRD_2STAGE', JOBZ, N, -1, -1, -1 )
IB = ILAENV( 18, 'CHETRD_2STAGE', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
KD = ILAENV2STAGE( 1, 'CHETRD_2STAGE', JOBZ,
$ N, -1, -1, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_2STAGE', JOBZ,
$ N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'CHETRD_2STAGE', JOBZ,
$ N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'CHETRD_2STAGE', JOBZ,
$ N, KD, IB, -1 )
LWMIN = N + LHTRD + LWTRD
WORK( 1 ) = LWMIN
END IF
Expand Down
12 changes: 6 additions & 6 deletions SRC/chegv_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -261,8 +261,8 @@ SUBROUTINE CHEGV_2STAGE( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
INTEGER ILAENV2STAGE
EXTERNAL LSAME, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL XERBLA, CHEGST, CPOTRF, CTRMM, CTRSM,
Expand Down Expand Up @@ -295,10 +295,10 @@ SUBROUTINE CHEGV_2STAGE( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W,
END IF
*
IF( INFO.EQ.0 ) THEN
KD = ILAENV( 17, 'CHETRD_2STAGE', JOBZ, N, -1, -1, -1 )
IB = ILAENV( 18, 'CHETRD_2STAGE', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
KD = ILAENV2STAGE( 1, 'CHETRD_2STAGE', JOBZ, N, -1, -1, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_2STAGE', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'CHETRD_2STAGE', JOBZ, N, KD, IB, -1 )
LWMIN = N + LHTRD + LWTRD
WORK( 1 ) = LWMIN
*
Expand Down
12 changes: 6 additions & 6 deletions SRC/chetrd_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -253,8 +253,8 @@ SUBROUTINE CHETRD_2STAGE( VECT, UPLO, N, A, LDA, D, E, TAU,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
INTEGER ILAENV2STAGE
EXTERNAL LSAME, ILAENV2STAGE
* ..
* .. Executable Statements ..
*
Expand All @@ -267,10 +267,10 @@ SUBROUTINE CHETRD_2STAGE( VECT, UPLO, N, A, LDA, D, E, TAU,
*
* Determine the block size, the workspace size and the hous size.
*
KD = ILAENV( 17, 'CHETRD_2STAGE', VECT, N, -1, -1, -1 )
IB = ILAENV( 18, 'CHETRD_2STAGE', VECT, N, KD, -1, -1 )
LHMIN = ILAENV( 19, 'CHETRD_2STAGE', VECT, N, KD, IB, -1 )
LWMIN = ILAENV( 20, 'CHETRD_2STAGE', VECT, N, KD, IB, -1 )
KD = ILAENV2STAGE( 1, 'CHETRD_2STAGE', VECT, N, -1, -1, -1 )
IB = ILAENV2STAGE( 2, 'CHETRD_2STAGE', VECT, N, KD, -1, -1 )
LHMIN = ILAENV2STAGE( 3, 'CHETRD_2STAGE', VECT, N, KD, IB, -1 )
LWMIN = ILAENV2STAGE( 4, 'CHETRD_2STAGE', VECT, N, KD, IB, -1 )
* WRITE(*,*),'CHETRD_2STAGE N KD UPLO LHMIN LWMIN ',N, KD, UPLO,
* $ LHMIN, LWMIN
*
Expand Down
13 changes: 8 additions & 5 deletions SRC/dsbev_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -234,9 +234,9 @@ SUBROUTINE DSBEV_2STAGE( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
DOUBLE PRECISION DLAMCH, DLANSB
EXTERNAL LSAME, DLAMCH, DLANSB, ILAENV
EXTERNAL LSAME, DLAMCH, DLANSB, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL DLASCL, DSCAL, DSTEQR, DSTERF, XERBLA,
Expand Down Expand Up @@ -273,9 +273,12 @@ SUBROUTINE DSBEV_2STAGE( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ,
LWMIN = 1
WORK( 1 ) = LWMIN
ELSE
IB = ILAENV( 18, 'DSYTRD_SB2ST', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'DSYTRD_SB2ST', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'DSYTRD_SB2ST', JOBZ, N, KD, IB, -1 )
IB = ILAENV2STAGE( 2, 'DSYTRD_SB2ST', JOBZ,
$ N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'DSYTRD_SB2ST', JOBZ,
$ N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'DSYTRD_SB2ST', JOBZ,
$ N, KD, IB, -1 )
LWMIN = N + LHTRD + LWTRD
WORK( 1 ) = LWMIN
ENDIF
Expand Down
10 changes: 5 additions & 5 deletions SRC/dsbevd_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -266,9 +266,9 @@ SUBROUTINE DSBEVD_2STAGE( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
DOUBLE PRECISION DLAMCH, DLANSB
EXTERNAL LSAME, DLAMCH, DLANSB, ILAENV
EXTERNAL LSAME, DLAMCH, DLANSB, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL DGEMM, DLACPY, DLASCL, DSCAL, DSTEDC,
Expand All @@ -290,9 +290,9 @@ SUBROUTINE DSBEVD_2STAGE( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ,
LIWMIN = 1
LWMIN = 1
ELSE
IB = ILAENV( 18, 'DSYTRD_SB2ST', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'DSYTRD_SB2ST', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'DSYTRD_SB2ST', JOBZ, N, KD, IB, -1 )
IB = ILAENV2STAGE( 2, 'DSYTRD_SB2ST', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'DSYTRD_SB2ST', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'DSYTRD_SB2ST', JOBZ, N, KD, IB, -1 )
IF( WANTZ ) THEN
LIWMIN = 3 + 5*N
LWMIN = 1 + 5*N + 2*N**2
Expand Down
13 changes: 8 additions & 5 deletions SRC/dsbevx_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -359,9 +359,9 @@ SUBROUTINE DSBEVX_2STAGE( JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q,
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
INTEGER ILAENV2STAGE
DOUBLE PRECISION DLAMCH, DLANSB
EXTERNAL LSAME, DLAMCH, DLANSB, ILAENV
EXTERNAL LSAME, DLAMCH, DLANSB, ILAENV2STAGE
* ..
* .. External Subroutines ..
EXTERNAL DCOPY, DGEMV, DLACPY, DLASCL, DSCAL,
Expand Down Expand Up @@ -419,9 +419,12 @@ SUBROUTINE DSBEVX_2STAGE( JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q,
LWMIN = 1
WORK( 1 ) = LWMIN
ELSE
IB = ILAENV( 18, 'DSYTRD_SB2ST', JOBZ, N, KD, -1, -1 )
LHTRD = ILAENV( 19, 'DSYTRD_SB2ST', JOBZ, N, KD, IB, -1 )
LWTRD = ILAENV( 20, 'DSYTRD_SB2ST', JOBZ, N, KD, IB, -1 )
IB = ILAENV2STAGE( 2, 'DSYTRD_SB2ST', JOBZ,
$ N, KD, -1, -1 )
LHTRD = ILAENV2STAGE( 3, 'DSYTRD_SB2ST', JOBZ,
$ N, KD, IB, -1 )
LWTRD = ILAENV2STAGE( 4, 'DSYTRD_SB2ST', JOBZ,
$ N, KD, IB, -1 )
LWMIN = 2*N + LHTRD + LWTRD
WORK( 1 ) = LWMIN
ENDIF
Expand Down
Loading