diff --git a/lapack-netlib/SRC/chegvd.f b/lapack-netlib/SRC/chegvd.f index d2dc941e6d..34f56b154b 100644 --- a/lapack-netlib/SRC/chegvd.f +++ b/lapack-netlib/SRC/chegvd.f @@ -355,9 +355,9 @@ SUBROUTINE CHEGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, CALL CHEGST( ITYPE, UPLO, N, A, LDA, B, LDB, INFO ) CALL CHEEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LRWORK, $ IWORK, LIWORK, INFO ) - LOPT = INT( MAX( REAL( LOPT ), REAL( WORK( 1 ) ) ) ) - LROPT = INT( MAX( REAL( LROPT ), REAL( RWORK( 1 ) ) ) ) - LIOPT = INT( MAX( REAL( LIOPT ), REAL( IWORK( 1 ) ) ) ) + LOPT = MAX( LOPT, INT( REAL( WORK( 1 ) ) ) ) + LROPT = MAX( LROPT, INT( RWORK( 1 ) ) ) + LIOPT = MAX( LIOPT, IWORK( 1 ) ) * IF( WANTZ .AND. INFO.EQ.0 ) THEN * diff --git a/lapack-netlib/SRC/chpgvd.f b/lapack-netlib/SRC/chpgvd.f index 57ac4fc728..7815efb4e2 100644 --- a/lapack-netlib/SRC/chpgvd.f +++ b/lapack-netlib/SRC/chpgvd.f @@ -330,9 +330,9 @@ SUBROUTINE CHPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, CALL CHPGST( ITYPE, UPLO, N, AP, BP, INFO ) CALL CHPEVD( JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK, $ LRWORK, IWORK, LIWORK, INFO ) - LWMIN = INT( MAX( REAL( LWMIN ), REAL( WORK( 1 ) ) ) ) - LRWMIN = INT( MAX( REAL( LRWMIN ), REAL( RWORK( 1 ) ) ) ) - LIWMIN = INT( MAX( REAL( LIWMIN ), REAL( IWORK( 1 ) ) ) ) + LWMIN = MAX( LWMIN, INT( REAL( WORK( 1 ) ) ) ) + LRWMIN = MAX( LRWMIN, INT( RWORK( 1 ) ) ) + LIWMIN = MAX( LIWMIN, IWORK( 1 ) ) * IF( WANTZ ) THEN * diff --git a/lapack-netlib/SRC/dspgvd.f b/lapack-netlib/SRC/dspgvd.f index 24c2309c34..3d5afbf8ee 100644 --- a/lapack-netlib/SRC/dspgvd.f +++ b/lapack-netlib/SRC/dspgvd.f @@ -267,7 +267,7 @@ SUBROUTINE DSPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, LWMIN = 2*N END IF END IF - WORK( 1 ) = LWMIN + WORK( 1 ) = DROUNDUP_LWORK(LWMIN) IWORK( 1 ) = LIWMIN IF( LWORK.LT.LWMIN .AND. .NOT.LQUERY ) THEN INFO = -11 @@ -301,8 +301,8 @@ SUBROUTINE DSPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, CALL DSPGST( ITYPE, UPLO, N, AP, BP, INFO ) CALL DSPEVD( JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, IWORK, $ LIWORK, INFO ) - LWMIN = INT( MAX( DBLE( LWMIN ), DBLE( WORK( 1 ) ) ) ) - LIWMIN = INT( MAX( DBLE( LIWMIN ), DBLE( IWORK( 1 ) ) ) ) + LWMIN = MAX( LWMIN, INT( WORK( 1 ) ) ) + LIWMIN = MAX( LIWMIN, IWORK( 1 ) ) * IF( WANTZ ) THEN * @@ -345,7 +345,7 @@ SUBROUTINE DSPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, END IF END IF * - WORK( 1 ) = LWMIN + WORK( 1 ) = DROUNDUP_LWORK(LWMIN) IWORK( 1 ) = LIWMIN * RETURN diff --git a/lapack-netlib/SRC/dsygvd.f b/lapack-netlib/SRC/dsygvd.f index 41a384c806..6b585bae34 100644 --- a/lapack-netlib/SRC/dsygvd.f +++ b/lapack-netlib/SRC/dsygvd.f @@ -289,7 +289,7 @@ SUBROUTINE DSYGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, END IF * IF( INFO.EQ.0 ) THEN - WORK( 1 ) = LOPT + WORK( 1 ) = DROUNDUP_LWORK(LOPT) IWORK( 1 ) = LIOPT * IF( LWORK.LT.LWMIN .AND. .NOT.LQUERY ) THEN @@ -324,8 +324,8 @@ SUBROUTINE DSYGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, CALL DSYGST( ITYPE, UPLO, N, A, LDA, B, LDB, INFO ) CALL DSYEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LIWORK, $ INFO ) - LOPT = INT( MAX( DBLE( LOPT ), DBLE( WORK( 1 ) ) ) ) - LIOPT = INT( MAX( DBLE( LIOPT ), DBLE( IWORK( 1 ) ) ) ) + LOPT = MAX( LOPT, INT( WORK( 1 ) ) ) + LIOPT = MAX( LIOPT, IWORK( 1 ) ) * IF( WANTZ .AND. INFO.EQ.0 ) THEN * @@ -361,7 +361,7 @@ SUBROUTINE DSYGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, END IF END IF * - WORK( 1 ) = LOPT + WORK( 1 ) = DROUNDUP_LWORK(LOPT) IWORK( 1 ) = LIOPT * RETURN diff --git a/lapack-netlib/SRC/sspgvd.f b/lapack-netlib/SRC/sspgvd.f index c1e14594b1..fd3a05e033 100644 --- a/lapack-netlib/SRC/sspgvd.f +++ b/lapack-netlib/SRC/sspgvd.f @@ -232,7 +232,7 @@ SUBROUTINE SSPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, EXTERNAL SPPTRF, SSPEVD, SSPGST, STPMV, STPSV, XERBLA * .. * .. Intrinsic Functions .. - INTRINSIC MAX, REAL + INTRINSIC MAX * .. * .. Executable Statements .. * @@ -302,8 +302,8 @@ SUBROUTINE SSPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, CALL SSPGST( ITYPE, UPLO, N, AP, BP, INFO ) CALL SSPEVD( JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, IWORK, $ LIWORK, INFO ) - LWMIN = INT( MAX( REAL( LWMIN ), REAL( WORK( 1 ) ) ) ) - LIWMIN = INT( MAX( REAL( LIWMIN ), REAL( IWORK( 1 ) ) ) ) + LWMIN = MAX( LWMIN, INT( WORK( 1 ) ) ) + LIWMIN = MAX( LIWMIN, IWORK( 1 ) ) * IF( WANTZ ) THEN * diff --git a/lapack-netlib/SRC/ssygvd.f b/lapack-netlib/SRC/ssygvd.f index a90d1afb70..e383593ad8 100644 --- a/lapack-netlib/SRC/ssygvd.f +++ b/lapack-netlib/SRC/ssygvd.f @@ -252,7 +252,7 @@ SUBROUTINE SSYGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, EXTERNAL SPOTRF, SSYEVD, SSYGST, STRMM, STRSM, XERBLA * .. * .. Intrinsic Functions .. - INTRINSIC MAX, REAL + INTRINSIC MAX * .. * .. Executable Statements .. * @@ -325,8 +325,8 @@ SUBROUTINE SSYGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, CALL SSYGST( ITYPE, UPLO, N, A, LDA, B, LDB, INFO ) CALL SSYEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LIWORK, $ INFO ) - LOPT = INT( MAX( REAL( LOPT ), REAL( WORK( 1 ) ) ) ) - LIOPT = INT( MAX( REAL( LIOPT ), REAL( IWORK( 1 ) ) ) ) + LOPT = MAX( LOPT, INT( WORK( 1 ) ) ) + LIOPT = MAX( LIOPT, IWORK( 1 ) ) * IF( WANTZ .AND. INFO.EQ.0 ) THEN * diff --git a/lapack-netlib/SRC/zhegvd.f b/lapack-netlib/SRC/zhegvd.f index c9ff55e3d2..a1c569fe3c 100644 --- a/lapack-netlib/SRC/zhegvd.f +++ b/lapack-netlib/SRC/zhegvd.f @@ -268,7 +268,8 @@ SUBROUTINE ZHEGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, * .. * .. External Functions .. LOGICAL LSAME - EXTERNAL LSAME + DOUBLE PRECISION DROUNDUP_LWORK + EXTERNAL LSAME, DROUNDUP_LWORK * .. * .. External Subroutines .. EXTERNAL XERBLA, ZHEEVD, ZHEGST, ZPOTRF, ZTRMM, ZTRSM @@ -354,9 +355,9 @@ SUBROUTINE ZHEGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, CALL ZHEGST( ITYPE, UPLO, N, A, LDA, B, LDB, INFO ) CALL ZHEEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LRWORK, $ IWORK, LIWORK, INFO ) - LOPT = INT( MAX( DBLE( LOPT ), DBLE( WORK( 1 ) ) ) ) - LROPT = INT( MAX( DBLE( LROPT ), DBLE( RWORK( 1 ) ) ) ) - LIOPT = INT( MAX( DBLE( LIOPT ), DBLE( IWORK( 1 ) ) ) ) + LOPT = MAX( LOPT, INT( DBLE( WORK( 1 ) ) ) ) + LROPT = MAX( LROPT, INT( RWORK( 1 ) ) ) + LIOPT = MAX( LIOPT, IWORK( 1 ) ) * IF( WANTZ .AND. INFO.EQ.0 ) THEN * diff --git a/lapack-netlib/SRC/zhpgvd.f b/lapack-netlib/SRC/zhpgvd.f index dfe92067cf..e0d35b4d49 100644 --- a/lapack-netlib/SRC/zhpgvd.f +++ b/lapack-netlib/SRC/zhpgvd.f @@ -246,7 +246,8 @@ SUBROUTINE ZHPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, * .. * .. External Functions .. LOGICAL LSAME - EXTERNAL LSAME + DOUBLE PRECISION DROUNDUP_LWORK + EXTERNAL LSAME, DROUNDUP_LWORK * .. * .. External Subroutines .. EXTERNAL XERBLA, ZHPEVD, ZHPGST, ZPPTRF, ZTPMV, ZTPSV @@ -329,9 +330,9 @@ SUBROUTINE ZHPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, CALL ZHPGST( ITYPE, UPLO, N, AP, BP, INFO ) CALL ZHPEVD( JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK, $ LRWORK, IWORK, LIWORK, INFO ) - LWMIN = INT( MAX( DBLE( LWMIN ), DBLE( WORK( 1 ) ) ) ) - LRWMIN = INT( MAX( DBLE( LRWMIN ), DBLE( RWORK( 1 ) ) ) ) - LIWMIN = INT( MAX( DBLE( LIWMIN ), DBLE( IWORK( 1 ) ) ) ) + LWMIN = MAX( LWMIN, INT( DBLE( WORK( 1 ) ) ) ) + LRWMIN = MAX( LRWMIN, INT( RWORK( 1 ) ) ) + LIWMIN = MAX( LIWMIN, IWORK( 1 ) ) * IF( WANTZ ) THEN *