Skip to content

Commit

Permalink
Explicit all conversions in the Fortran code
Browse files Browse the repository at this point in the history
  • Loading branch information
weslleyspereira committed Aug 10, 2022
1 parent cb8d38c commit 0b9757d
Show file tree
Hide file tree
Showing 70 changed files with 144 additions and 138 deletions.
4 changes: 2 additions & 2 deletions BLAS/SRC/cherk.f
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ SUBROUTINE CHERK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
200 CONTINUE
RTEMP = ZERO
DO 210 L = 1,K
RTEMP = RTEMP + CONJG(A(L,J))*A(L,J)
RTEMP = RTEMP + REAL(CONJG(A(L,J))*A(L,J))
210 CONTINUE
IF (BETA.EQ.ZERO) THEN
C(J,J) = ALPHA*RTEMP
Expand All @@ -364,7 +364,7 @@ SUBROUTINE CHERK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
DO 260 J = 1,N
RTEMP = ZERO
DO 230 L = 1,K
RTEMP = RTEMP + CONJG(A(L,J))*A(L,J)
RTEMP = RTEMP + REAL(CONJG(A(L,J))*A(L,J))
230 CONTINUE
IF (BETA.EQ.ZERO) THEN
C(J,J) = ALPHA*RTEMP
Expand Down
4 changes: 2 additions & 2 deletions BLAS/SRC/sdsdot.f
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ REAL FUNCTION SDSDOT(N,SB,SX,INCX,SY,INCY)
* ..
DSDOT = SB
IF (N.LE.0) THEN
SDSDOT = DSDOT
SDSDOT = REAL(DSDOT)
RETURN
END IF
IF (INCX.EQ.INCY .AND. INCX.GT.0) THEN
Expand All @@ -155,7 +155,7 @@ REAL FUNCTION SDSDOT(N,SB,SX,INCX,SY,INCY)
KY = KY + INCY
END DO
END IF
SDSDOT = DSDOT
SDSDOT = REAL(DSDOT)
RETURN
*
* End of SDSDOT
Expand Down
4 changes: 2 additions & 2 deletions BLAS/SRC/zherk.f
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ SUBROUTINE ZHERK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
200 CONTINUE
RTEMP = ZERO
DO 210 L = 1,K
RTEMP = RTEMP + DCONJG(A(L,J))*A(L,J)
RTEMP = RTEMP + DBLE(DCONJG(A(L,J))*A(L,J))
210 CONTINUE
IF (BETA.EQ.ZERO) THEN
C(J,J) = ALPHA*RTEMP
Expand All @@ -364,7 +364,7 @@ SUBROUTINE ZHERK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
DO 260 J = 1,N
RTEMP = ZERO
DO 230 L = 1,K
RTEMP = RTEMP + DCONJG(A(L,J))*A(L,J)
RTEMP = RTEMP + DBLE(DCONJG(A(L,J))*A(L,J))
230 CONTINUE
IF (BETA.EQ.ZERO) THEN
C(J,J) = ALPHA*RTEMP
Expand Down
4 changes: 2 additions & 2 deletions SRC/cgebak.f
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ SUBROUTINE CGEBAK( JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV,
$ GO TO 40
IF( I.LT.ILO )
$ I = ILO - II
K = SCALE( I )
K = INT( SCALE( I ) )
IF( K.EQ.I )
$ GO TO 40
CALL CSWAP( M, V( I, 1 ), LDV, V( K, 1 ), LDV )
Expand All @@ -252,7 +252,7 @@ SUBROUTINE CGEBAK( JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV,
$ GO TO 50
IF( I.LT.ILO )
$ I = ILO - II
K = SCALE( I )
K = INT( SCALE( I ) )
IF( K.EQ.I )
$ GO TO 50
CALL CSWAP( M, V( I, 1 ), LDV, V( K, 1 ), LDV )
Expand Down
2 changes: 1 addition & 1 deletion SRC/cgees.f
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ SUBROUTINE CGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, W, VS,
*
CALL CHSEQR( 'S', JOBVS, N, 1, N, A, LDA, W, VS, LDVS,
$ WORK, -1, IEVAL )
HSWORK = REAL( WORK( 1 ) )
HSWORK = INT( WORK( 1 ) )
*
IF( .NOT.WANTVS ) THEN
MAXWRK = MAX( MAXWRK, HSWORK )
Expand Down
2 changes: 1 addition & 1 deletion SRC/cgeesx.f
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ SUBROUTINE CGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM, W,
*
CALL CHSEQR( 'S', JOBVS, N, 1, N, A, LDA, W, VS, LDVS,
$ WORK, -1, IEVAL )
HSWORK = REAL( WORK( 1 ) )
HSWORK = INT( WORK( 1 ) )
*
IF( .NOT.WANTVS ) THEN
MAXWRK = MAX( MAXWRK, HSWORK )
Expand Down
36 changes: 18 additions & 18 deletions SRC/cgejsv.f
Original file line number Diff line number Diff line change
Expand Up @@ -704,11 +704,11 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
IF ( LQUERY ) THEN
CALL CGEQP3( M, N, A, LDA, IWORK, CDUMMY, CDUMMY, -1,
$ RDUMMY, IERR )
LWRK_CGEQP3 = REAL( CDUMMY(1) )
LWRK_CGEQP3 = INT( CDUMMY(1) )
CALL CGEQRF( N, N, A, LDA, CDUMMY, CDUMMY,-1, IERR )
LWRK_CGEQRF = REAL( CDUMMY(1) )
LWRK_CGEQRF = INT( CDUMMY(1) )
CALL CGELQF( N, N, A, LDA, CDUMMY, CDUMMY,-1, IERR )
LWRK_CGELQF = REAL( CDUMMY(1) )
LWRK_CGELQF = INT( CDUMMY(1) )
END IF
MINWRK = 2
OPTWRK = 2
Expand All @@ -724,7 +724,7 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
IF ( LQUERY ) THEN
CALL CGESVJ( 'L', 'N', 'N', N, N, A, LDA, SVA, N, V,
$ LDV, CDUMMY, -1, RDUMMY, -1, IERR )
LWRK_CGESVJ = REAL( CDUMMY(1) )
LWRK_CGESVJ = INT( CDUMMY(1) )
IF ( ERREST ) THEN
OPTWRK = MAX( N+LWRK_CGEQP3, N**2+LWCON,
$ N+LWRK_CGEQRF, LWRK_CGESVJ )
Expand Down Expand Up @@ -760,10 +760,10 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
IF ( LQUERY ) THEN
CALL CGESVJ( 'L', 'U', 'N', N,N, U, LDU, SVA, N, A,
$ LDA, CDUMMY, -1, RDUMMY, -1, IERR )
LWRK_CGESVJ = REAL( CDUMMY(1) )
LWRK_CGESVJ = INT( CDUMMY(1) )
CALL CUNMLQ( 'L', 'C', N, N, N, A, LDA, CDUMMY,
$ V, LDV, CDUMMY, -1, IERR )
LWRK_CUNMLQ = REAL( CDUMMY(1) )
LWRK_CUNMLQ = INT( CDUMMY(1) )
IF ( ERREST ) THEN
OPTWRK = MAX( N+LWRK_CGEQP3, LWCON, LWRK_CGESVJ,
$ N+LWRK_CGELQF, 2*N+LWRK_CGEQRF,
Expand Down Expand Up @@ -799,10 +799,10 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
IF ( LQUERY ) THEN
CALL CGESVJ( 'L', 'U', 'N', N,N, U, LDU, SVA, N, A,
$ LDA, CDUMMY, -1, RDUMMY, -1, IERR )
LWRK_CGESVJ = REAL( CDUMMY(1) )
LWRK_CGESVJ = INT( CDUMMY(1) )
CALL CUNMQR( 'L', 'N', M, N, N, A, LDA, CDUMMY, U,
$ LDU, CDUMMY, -1, IERR )
LWRK_CUNMQRM = REAL( CDUMMY(1) )
LWRK_CUNMQRM = INT( CDUMMY(1) )
IF ( ERREST ) THEN
OPTWRK = N + MAX( LWRK_CGEQP3, LWCON, N+LWRK_CGEQRF,
$ LWRK_CGESVJ, LWRK_CUNMQRM )
Expand Down Expand Up @@ -861,26 +861,26 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
IF ( LQUERY ) THEN
CALL CUNMQR( 'L', 'N', M, N, N, A, LDA, CDUMMY, U,
$ LDU, CDUMMY, -1, IERR )
LWRK_CUNMQRM = REAL( CDUMMY(1) )
LWRK_CUNMQRM = INT( CDUMMY(1) )
CALL CUNMQR( 'L', 'N', N, N, N, A, LDA, CDUMMY, U,
$ LDU, CDUMMY, -1, IERR )
LWRK_CUNMQR = REAL( CDUMMY(1) )
LWRK_CUNMQR = INT( CDUMMY(1) )
IF ( .NOT. JRACC ) THEN
CALL CGEQP3( N,N, A, LDA, IWORK, CDUMMY,CDUMMY, -1,
$ RDUMMY, IERR )
LWRK_CGEQP3N = REAL( CDUMMY(1) )
LWRK_CGEQP3N = INT( CDUMMY(1) )
CALL CGESVJ( 'L', 'U', 'N', N, N, U, LDU, SVA,
$ N, V, LDV, CDUMMY, -1, RDUMMY, -1, IERR )
LWRK_CGESVJ = REAL( CDUMMY(1) )
LWRK_CGESVJ = INT( CDUMMY(1) )
CALL CGESVJ( 'U', 'U', 'N', N, N, U, LDU, SVA,
$ N, V, LDV, CDUMMY, -1, RDUMMY, -1, IERR )
LWRK_CGESVJU = REAL( CDUMMY(1) )
LWRK_CGESVJU = INT( CDUMMY(1) )
CALL CGESVJ( 'L', 'U', 'V', N, N, U, LDU, SVA,
$ N, V, LDV, CDUMMY, -1, RDUMMY, -1, IERR )
LWRK_CGESVJV = REAL( CDUMMY(1) )
LWRK_CGESVJV = INT( CDUMMY(1) )
CALL CUNMLQ( 'L', 'C', N, N, N, A, LDA, CDUMMY,
$ V, LDV, CDUMMY, -1, IERR )
LWRK_CUNMLQ = REAL( CDUMMY(1) )
LWRK_CUNMLQ = INT( CDUMMY(1) )
IF ( ERREST ) THEN
OPTWRK = MAX( N+LWRK_CGEQP3, N+LWCON,
$ 2*N+N**2+LWCON, 2*N+LWRK_CGEQRF,
Expand Down Expand Up @@ -909,13 +909,13 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
ELSE
CALL CGESVJ( 'L', 'U', 'V', N, N, U, LDU, SVA,
$ N, V, LDV, CDUMMY, -1, RDUMMY, -1, IERR )
LWRK_CGESVJV = REAL( CDUMMY(1) )
LWRK_CGESVJV = INT( CDUMMY(1) )
CALL CUNMQR( 'L', 'N', N, N, N, CDUMMY, N, CDUMMY,
$ V, LDV, CDUMMY, -1, IERR )
LWRK_CUNMQR = REAL( CDUMMY(1) )
LWRK_CUNMQR = INT( CDUMMY(1) )
CALL CUNMQR( 'L', 'N', M, N, N, A, LDA, CDUMMY, U,
$ LDU, CDUMMY, -1, IERR )
LWRK_CUNMQRM = REAL( CDUMMY(1) )
LWRK_CUNMQRM = INT( CDUMMY(1) )
IF ( ERREST ) THEN
OPTWRK = MAX( N+LWRK_CGEQP3, N+LWCON,
$ 2*N+LWRK_CGEQRF, 2*N+N**2,
Expand Down
8 changes: 4 additions & 4 deletions SRC/cggbak.f
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ SUBROUTINE CGGBAK( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE, M, V,
IF( ILO.EQ.1 )
$ GO TO 50
DO 40 I = ILO - 1, 1, -1
K = RSCALE( I )
K = INT( RSCALE( I ) )
IF( K.EQ.I )
$ GO TO 40
CALL CSWAP( M, V( I, 1 ), LDV, V( K, 1 ), LDV )
Expand All @@ -263,7 +263,7 @@ SUBROUTINE CGGBAK( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE, M, V,
IF( IHI.EQ.N )
$ GO TO 70
DO 60 I = IHI + 1, N
K = RSCALE( I )
K = INT( RSCALE( I ) )
IF( K.EQ.I )
$ GO TO 60
CALL CSWAP( M, V( I, 1 ), LDV, V( K, 1 ), LDV )
Expand All @@ -277,7 +277,7 @@ SUBROUTINE CGGBAK( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE, M, V,
IF( ILO.EQ.1 )
$ GO TO 90
DO 80 I = ILO - 1, 1, -1
K = LSCALE( I )
K = INT( LSCALE( I ) )
IF( K.EQ.I )
$ GO TO 80
CALL CSWAP( M, V( I, 1 ), LDV, V( K, 1 ), LDV )
Expand All @@ -287,7 +287,7 @@ SUBROUTINE CGGBAK( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE, M, V,
IF( IHI.EQ.N )
$ GO TO 110
DO 100 I = IHI + 1, N
K = LSCALE( I )
K = INT( LSCALE( I ) )
IF( K.EQ.I )
$ GO TO 100
CALL CSWAP( M, V( I, 1 ), LDV, V( K, 1 ), LDV )
Expand Down
4 changes: 2 additions & 2 deletions SRC/cggbal.f
Original file line number Diff line number Diff line change
Expand Up @@ -535,15 +535,15 @@ SUBROUTINE CGGBAL( JOB, N, A, LDA, B, LDB, ILO, IHI, LSCALE,
IRAB = ICAMAX( N-ILO+1, B( I, ILO ), LDB )
RAB = MAX( RAB, ABS( B( I, IRAB+ILO-1 ) ) )
LRAB = INT( LOG10( RAB+SFMIN ) / BASL+ONE )
IR = LSCALE( I ) + SIGN( HALF, LSCALE( I ) )
IR = INT( LSCALE( I ) + SIGN( HALF, LSCALE( I ) ) )
IR = MIN( MAX( IR, LSFMIN ), LSFMAX, LSFMAX-LRAB )
LSCALE( I ) = SCLFAC**IR
ICAB = ICAMAX( IHI, A( 1, I ), 1 )
CAB = ABS( A( ICAB, I ) )
ICAB = ICAMAX( IHI, B( 1, I ), 1 )
CAB = MAX( CAB, ABS( B( ICAB, I ) ) )
LCAB = INT( LOG10( CAB+SFMIN ) / BASL+ONE )
JC = RSCALE( I ) + SIGN( HALF, RSCALE( I ) )
JC = INT( RSCALE( I ) + SIGN( HALF, RSCALE( I ) ) )
JC = MIN( MAX( JC, LSFMIN ), LSFMAX, LSFMAX-LCAB )
RSCALE( I ) = SCLFAC**JC
360 CONTINUE
Expand Down
2 changes: 1 addition & 1 deletion SRC/cggglm.f
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ SUBROUTINE CGGGLM( N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK,
*
CALL CGGQRF( N, M, P, A, LDA, WORK, B, LDB, WORK( M+1 ),
$ WORK( M+NP+1 ), LWORK-M-NP, INFO )
LOPT = REAL( WORK( M+NP+1 ) )
LOPT = INT( WORK( M+NP+1 ) )
*
* Update left-hand-side vector d = Q**H*d = ( d1 ) M
* ( d2 ) N-M
Expand Down
2 changes: 1 addition & 1 deletion SRC/cgghd3.f
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,7 @@ SUBROUTINE CGGHD3( COMPQ, COMPZ, N, ILO, IHI, A, LDA, B, LDB, Q,
*
IF( JJ.GT.0 ) THEN
DO I = JJ, 1, -1
C = DBLE( A( J+1+I, J ) )
C = REAL( A( J+1+I, J ) )
CALL CROT( IHI-TOP, A( TOP+1, J+I+1 ), 1,
$ A( TOP+1, J+I ), 1, C,
$ -CONJG( B( J+1+I, J ) ) )
Expand Down
2 changes: 1 addition & 1 deletion SRC/cgglse.f
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ SUBROUTINE CGGLSE( M, N, P, A, LDA, B, LDB, C, D, X, WORK, LWORK,
*
CALL CGGRQF( P, M, N, B, LDB, WORK, A, LDA, WORK( P+1 ),
$ WORK( P+MN+1 ), LWORK-P-MN, INFO )
LOPT = REAL( WORK( P+MN+1 ) )
LOPT = INT( WORK( P+MN+1 ) )
*
* Update c = Z**H *c = ( c1 ) N-P
* ( c2 ) M+P-N
Expand Down
2 changes: 1 addition & 1 deletion SRC/cggqrf.f
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ SUBROUTINE CGGQRF( N, M, P, A, LDA, TAUA, B, LDB, TAUB, WORK,
* QR factorization of N-by-M matrix A: A = Q*R
*
CALL CGEQRF( N, M, A, LDA, TAUA, WORK, LWORK, INFO )
LOPT = REAL( WORK( 1 ) )
LOPT = INT( WORK( 1 ) )
*
* Update B := Q**H*B.
*
Expand Down
2 changes: 1 addition & 1 deletion SRC/cggrqf.f
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ SUBROUTINE CGGRQF( M, P, N, A, LDA, TAUA, B, LDB, TAUB, WORK,
* RQ factorization of M-by-N matrix A: A = R*Q
*
CALL CGERQF( M, N, A, LDA, TAUA, WORK, LWORK, INFO )
LOPT = REAL( WORK( 1 ) )
LOPT = INT( WORK( 1 ) )
*
* Update B := B*Q**H
*
Expand Down
6 changes: 3 additions & 3 deletions SRC/chegvd.f
Original file line number Diff line number Diff line change
Expand Up @@ -360,9 +360,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 = MAX( REAL( LOPT ), REAL( WORK( 1 ) ) )
LROPT = MAX( REAL( LROPT ), REAL( RWORK( 1 ) ) )
LIOPT = MAX( REAL( LIOPT ), REAL( IWORK( 1 ) ) )
LOPT = INT( MAX( REAL( LOPT ), REAL( WORK( 1 ) ) ) )
LROPT = INT( MAX( REAL( LROPT ), REAL( RWORK( 1 ) ) ) )
LIOPT = INT( MAX( REAL( LIOPT ), REAL( IWORK( 1 ) ) ) )
*
IF( WANTZ .AND. INFO.EQ.0 ) THEN
*
Expand Down
2 changes: 1 addition & 1 deletion SRC/chesv_rk.f
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ SUBROUTINE CHESV_RK( UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK,
LWKOPT = 1
ELSE
CALL CHETRF_RK( UPLO, N, A, LDA, E, IPIV, WORK, -1, INFO )
LWKOPT = REAL( WORK(1) )
LWKOPT = INT( WORK( 1 ) )
END IF
WORK( 1 ) = LWKOPT
END IF
Expand Down
6 changes: 3 additions & 3 deletions SRC/chpgvd.f
Original file line number Diff line number Diff line change
Expand Up @@ -335,9 +335,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 = MAX( REAL( LWMIN ), REAL( WORK( 1 ) ) )
LRWMIN = MAX( REAL( LRWMIN ), REAL( RWORK( 1 ) ) )
LIWMIN = MAX( REAL( LIWMIN ), REAL( IWORK( 1 ) ) )
LWMIN = INT( MAX( REAL( LWMIN ), REAL( WORK( 1 ) ) ) )
LRWMIN = INT( MAX( REAL( LRWMIN ), REAL( RWORK( 1 ) ) ) )
LIWMIN = INT( MAX( REAL( LIWMIN ), REAL( IWORK( 1 ) ) ) )
*
IF( WANTZ ) THEN
*
Expand Down
2 changes: 1 addition & 1 deletion SRC/csysv.f
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ SUBROUTINE CSYSV( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
LWKOPT = 1
ELSE
CALL CSYTRF( UPLO, N, A, LDA, IPIV, WORK, -1, INFO )
LWKOPT = REAL( WORK(1) )
LWKOPT = INT( WORK( 1 ) )
END IF
WORK( 1 ) = LWKOPT
END IF
Expand Down
2 changes: 1 addition & 1 deletion SRC/csysv_rk.f
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ SUBROUTINE CSYSV_RK( UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK,
LWKOPT = 1
ELSE
CALL CSYTRF_RK( UPLO, N, A, LDA, E, IPIV, WORK, -1, INFO )
LWKOPT = REAL( WORK(1) )
LWKOPT = INT( WORK( 1 ) )
END IF
WORK( 1 ) = LWKOPT
END IF
Expand Down
2 changes: 1 addition & 1 deletion SRC/csysv_rook.f
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ SUBROUTINE CSYSV_ROOK( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
LWKOPT = 1
ELSE
CALL CSYTRF_ROOK( UPLO, N, A, LDA, IPIV, WORK, -1, INFO )
LWKOPT = REAL( WORK(1) )
LWKOPT = INT( WORK( 1 ) )
END IF
WORK( 1 ) = LWKOPT
END IF
Expand Down
2 changes: 1 addition & 1 deletion SRC/cungbr.f
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ SUBROUTINE CUNGBR( VECT, M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
END IF
END IF
END IF
LWKOPT = REAL( WORK( 1 ) )
LWKOPT = INT( WORK( 1 ) )
LWKOPT = MAX (LWKOPT, MN)
END IF
*
Expand Down
4 changes: 2 additions & 2 deletions SRC/dgebak.f
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ SUBROUTINE DGEBAK( JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV,
$ GO TO 40
IF( I.LT.ILO )
$ I = ILO - II
K = SCALE( I )
K = INT( SCALE( I ) )
IF( K.EQ.I )
$ GO TO 40
CALL DSWAP( M, V( I, 1 ), LDV, V( K, 1 ), LDV )
Expand All @@ -250,7 +250,7 @@ SUBROUTINE DGEBAK( JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV,
$ GO TO 50
IF( I.LT.ILO )
$ I = ILO - II
K = SCALE( I )
K = INT( SCALE( I ) )
IF( K.EQ.I )
$ GO TO 50
CALL DSWAP( M, V( I, 1 ), LDV, V( K, 1 ), LDV )
Expand Down
2 changes: 1 addition & 1 deletion SRC/dgees.f
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ SUBROUTINE DGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, WR, WI,
*
CALL DHSEQR( 'S', JOBVS, N, 1, N, A, LDA, WR, WI, VS, LDVS,
$ WORK, -1, IEVAL )
HSWORK = WORK( 1 )
HSWORK = INT( WORK( 1 ) )
*
IF( .NOT.WANTVS ) THEN
MAXWRK = MAX( MAXWRK, N + HSWORK )
Expand Down
2 changes: 1 addition & 1 deletion SRC/dgeesx.f
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ SUBROUTINE DGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM,
*
CALL DHSEQR( 'S', JOBVS, N, 1, N, A, LDA, WR, WI, VS, LDVS,
$ WORK, -1, IEVAL )
HSWORK = WORK( 1 )
HSWORK = INT( WORK( 1 ) )
*
IF( .NOT.WANTVS ) THEN
MAXWRK = MAX( MAXWRK, N + HSWORK )
Expand Down
Loading

0 comments on commit 0b9757d

Please sign in to comment.