Skip to content

Commit a0a5189

Browse files
committed
Fix -Werror=conversion problems in LAPACK with integer-8
1 parent 69b5d19 commit a0a5189

File tree

306 files changed

+753
-721
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

306 files changed

+753
-721
lines changed

SRC/cbbcsd.f

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ SUBROUTINE CBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P,
420420
*
421421
IF( INFO .EQ. 0 .AND. Q .EQ. 0 ) THEN
422422
LRWORKMIN = 1
423-
RWORK(1) = LRWORKMIN
423+
RWORK(1) = REAL( LRWORKMIN )
424424
RETURN
425425
END IF
426426
*
@@ -437,7 +437,7 @@ SUBROUTINE CBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P,
437437
IV2TSN = IV2TCS + Q
438438
LRWORKOPT = IV2TSN + Q - 1
439439
LRWORKMIN = LRWORKOPT
440-
RWORK(1) = LRWORKOPT
440+
RWORK(1) = REAL( LRWORKOPT )
441441
IF( LRWORK .LT. LRWORKMIN .AND. .NOT. LQUERY ) THEN
442442
INFO = -28
443443
END IF
@@ -456,7 +456,7 @@ SUBROUTINE CBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P,
456456
UNFL = SLAMCH( 'Safe minimum' )
457457
TOLMUL = MAX( TEN, MIN( HUNDRED, EPS**MEIGHTH ) )
458458
TOL = TOLMUL*EPS
459-
THRESH = MAX( TOL, MAXITR*Q*Q*UNFL )
459+
THRESH = MAX( TOL, REAL( MAXITR*Q*Q )*UNFL )
460460
*
461461
* Test for negligible sines or cosines
462462
*

SRC/cbdsqr.f

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,12 +393,12 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
393393
40 CONTINUE
394394
50 CONTINUE
395395
SMINOA = SMINOA / SQRT( REAL( N ) )
396-
THRESH = MAX( TOL*SMINOA, MAXITR*N*N*UNFL )
396+
THRESH = MAX( TOL*SMINOA, REAL( MAXITR*N*N )*UNFL )
397397
ELSE
398398
*
399399
* Absolute accuracy desired
400400
*
401-
THRESH = MAX( ABS( TOL )*SMAX, MAXITR*N*N*UNFL )
401+
THRESH = MAX( ABS( TOL )*SMAX, REAL( MAXITR*N*N )*UNFL )
402402
END IF
403403
*
404404
* Prepare for main iteration loop for the singular values
@@ -565,7 +565,7 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
565565
* Compute shift. First, test if shifting would ruin relative
566566
* accuracy, and if so set the shift to zero.
567567
*
568-
IF( TOL.GE.ZERO .AND. N*TOL*( SMIN / SMAX ).LE.
568+
IF( TOL.GE.ZERO .AND. REAL( N )*TOL*( SMIN / SMAX ).LE.
569569
$ MAX( EPS, HNDRTH*TOL ) ) THEN
570570
*
571571
* Use a zero shift to avoid loss of relative accuracy

SRC/cgbrfs.f

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ SUBROUTINE CGBRFS( TRANS, N, KL, KU, NRHS, AB, LDAB, AFB,
317317
NZ = MIN( KL+KU+2, N+1 )
318318
EPS = SLAMCH( 'Epsilon' )
319319
SAFMIN = SLAMCH( 'Safe minimum' )
320-
SAFE1 = NZ*SAFMIN
320+
SAFE1 = REAL( NZ )*SAFMIN
321321
SAFE2 = SAFE1 / EPS
322322
*
323323
* Do for each right hand side
@@ -426,10 +426,11 @@ SUBROUTINE CGBRFS( TRANS, N, KL, KU, NRHS, AB, LDAB, AFB,
426426
*
427427
DO 90 I = 1, N
428428
IF( RWORK( I ).GT.SAFE2 ) THEN
429-
RWORK( I ) = CABS1( WORK( I ) ) + NZ*EPS*RWORK( I )
429+
RWORK( I ) = CABS1( WORK( I ) ) + REAL( NZ )*
430+
$ EPS*RWORK( I )
430431
ELSE
431-
RWORK( I ) = CABS1( WORK( I ) ) + NZ*EPS*RWORK( I ) +
432-
$ SAFE1
432+
RWORK( I ) = CABS1( WORK( I ) ) + REAL( NZ )*
433+
$ EPS*RWORK( I ) + SAFE1
433434
END IF
434435
90 CONTINUE
435436
*

SRC/cgebal.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ SUBROUTINE CGEBAL( JOB, N, A, LDA, ILO, IHI, SCALE, INFO )
267267
END DO
268268
*
269269
IF( CANSWAP ) THEN
270-
SCALE( L ) = I
270+
SCALE( L ) = REAL( I )
271271
IF( I.NE.L ) THEN
272272
CALL CSWAP( L, A( 1, I ), 1, A( 1, L ), 1 )
273273
CALL CSWAP( N-K+1, A( I, K ), LDA, A( L, K ),
@@ -304,7 +304,7 @@ SUBROUTINE CGEBAL( JOB, N, A, LDA, ILO, IHI, SCALE, INFO )
304304
END DO
305305
*
306306
IF( CANSWAP ) THEN
307-
SCALE( K ) = J
307+
SCALE( K ) = REAL( J )
308308
IF( J.NE.K ) THEN
309309
CALL CSWAP( L, A( 1, J ), 1, A( 1, K ), 1 )
310310
CALL CSWAP( N-K+1, A( J, K ), LDA, A( K, K ),

SRC/cgebrd.f

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ SUBROUTINE CGEBRD( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, LWORK,
346346
*
347347
CALL CGEBD2( M-I+1, N-I+1, A( I, I ), LDA, D( I ), E( I ),
348348
$ TAUQ( I ), TAUP( I ), WORK, IINFO )
349-
WORK( 1 ) = WS
349+
WORK( 1 ) = CMPLX( WS )
350350
RETURN
351351
*
352352
* End of CGEBRD

SRC/cgedmd.f90

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -588,9 +588,9 @@ SUBROUTINE CGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
588588
ELSE IF ( LQUERY ) THEN
589589
! Return minimal and optimal workspace sizes
590590
IWORK(1) = IMINWR
591-
RWORK(1) = MLRWRK
592-
ZWORK(1) = MLWORK
593-
ZWORK(2) = OLWORK
591+
RWORK(1) = REAL( MLRWRK )
592+
ZWORK(1) = CMPLX( MLWORK )
593+
ZWORK(2) = CMPLX( OLWORK )
594594
RETURN
595595
END IF
596596
!............................................................

SRC/cgedmdq.f90

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -599,10 +599,10 @@ SUBROUTINE CGEDMDQ( JOBS, JOBZ, JOBR, JOBQ, JOBT, JOBF, &
599599
ELSE IF ( LQUERY ) THEN
600600
! Return minimal and optimal workspace sizes
601601
IWORK(1) = IMINWR
602-
ZWORK(1) = MLWORK
603-
ZWORK(2) = OLWORK
604-
WORK(1) = MLRWRK
605-
WORK(2) = MLRWRK
602+
ZWORK(1) = CMPLX( MLWORK )
603+
ZWORK(2) = CMPLX( OLWORK )
604+
WORK(1) = REAL( MLRWRK )
605+
WORK(2) = REAL( MLRWRK )
606606
RETURN
607607
END IF
608608
!.....
@@ -687,4 +687,4 @@ SUBROUTINE CGEDMDQ( JOBS, JOBZ, JOBR, JOBQ, JOBT, JOBF, &
687687
RETURN
688688
!
689689
END SUBROUTINE CGEDMDQ
690-
690+

SRC/cgees.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ SUBROUTINE CGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, W, VS,
296296
MAXWRK = MAX( MAXWRK, HSWORK )
297297
END IF
298298
END IF
299-
WORK( 1 ) = MAXWRK
299+
WORK( 1 ) = CMPLX( MAXWRK )
300300
*
301301
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
302302
INFO = -12
@@ -419,7 +419,7 @@ SUBROUTINE CGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, W, VS,
419419
CALL CCOPY( N, A, LDA+1, W, 1 )
420420
END IF
421421
*
422-
WORK( 1 ) = MAXWRK
422+
WORK( 1 ) = CMPLX( MAXWRK )
423423
RETURN
424424
*
425425
* End of CGEES

SRC/cgeesx.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ SUBROUTINE CGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM,
355355
IF( .NOT.WANTSN )
356356
$ LWRK = MAX( LWRK, ( N*N )/2 )
357357
END IF
358-
WORK( 1 ) = LWRK
358+
WORK( 1 ) = CMPLX( LWRK )
359359
*
360360
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
361361
INFO = -15
@@ -496,7 +496,7 @@ SUBROUTINE CGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM,
496496
END IF
497497
END IF
498498
*
499-
WORK( 1 ) = MAXWRK
499+
WORK( 1 ) = CMPLX( MAXWRK )
500500
RETURN
501501
*
502502
* End of CGEESX

SRC/cgeev.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ SUBROUTINE CGEEV( JOBVL, JOBVR, N, A, LDA, W, VL, LDVL, VR,
298298
HSWORK = INT( WORK(1) )
299299
MAXWRK = MAX( MAXWRK, HSWORK, MINWRK )
300300
END IF
301-
WORK( 1 ) = MAXWRK
301+
WORK( 1 ) = CMPLX( MAXWRK )
302302
*
303303
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
304304
INFO = -12
@@ -506,7 +506,7 @@ SUBROUTINE CGEEV( JOBVL, JOBVR, N, A, LDA, W, VL, LDVL, VR,
506506
END IF
507507
END IF
508508
*
509-
WORK( 1 ) = MAXWRK
509+
WORK( 1 ) = CMPLX( MAXWRK )
510510
RETURN
511511
*
512512
* End of CGEEV

SRC/cgeevx.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ SUBROUTINE CGEEVX( BALANC, JOBVL, JOBVR, SENSE, N, A, LDA, W,
444444
END IF
445445
MAXWRK = MAX( MAXWRK, MINWRK )
446446
END IF
447-
WORK( 1 ) = MAXWRK
447+
WORK( 1 ) = CMPLX( MAXWRK )
448448
*
449449
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
450450
INFO = -20
@@ -672,7 +672,7 @@ SUBROUTINE CGEEVX( BALANC, JOBVL, JOBVR, SENSE, N, A, LDA, W,
672672
END IF
673673
END IF
674674
*
675-
WORK( 1 ) = MAXWRK
675+
WORK( 1 ) = CMPLX( MAXWRK )
676676
RETURN
677677
*
678678
* End of CGEEVX

SRC/cgehrd.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ SUBROUTINE CGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK,
231231
NB = MIN( NBMAX, ILAENV( 1, 'CGEHRD', ' ', N, ILO, IHI,
232232
$ -1 ) )
233233
LWKOPT = N*NB + TSIZE
234-
WORK( 1 ) = LWKOPT
234+
WORK( 1 ) = CMPLX( LWKOPT )
235235
END IF
236236
*
237237
IF( INFO.NE.0 ) THEN
@@ -348,7 +348,7 @@ SUBROUTINE CGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK,
348348
* Use unblocked code to reduce the rest of the matrix
349349
*
350350
CALL CGEHD2( N, I, IHI, A, LDA, TAU, WORK, IINFO )
351-
WORK( 1 ) = LWKOPT
351+
WORK( 1 ) = CMPLX( LWKOPT )
352352
*
353353
RETURN
354354
*

SRC/cgejsv.f

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -952,9 +952,9 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
952952
CALL XERBLA( 'CGEJSV', - INFO )
953953
RETURN
954954
ELSE IF ( LQUERY ) THEN
955-
CWORK(1) = OPTWRK
956-
CWORK(2) = MINWRK
957-
RWORK(1) = MINRWRK
955+
CWORK(1) = CMPLX( OPTWRK )
956+
CWORK(2) = CMPLX( MINWRK )
957+
RWORK(1) = REAL( MINRWRK )
958958
IWORK(1) = MAX( 4, MINIWRK )
959959
RETURN
960960
END IF

SRC/cgelq.f

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -288,16 +288,16 @@ SUBROUTINE CGELQ( M, N, A, LDA, T, TSIZE, WORK, LWORK,
288288
*
289289
IF( INFO.EQ.0 ) THEN
290290
IF( MINT ) THEN
291-
T( 1 ) = MINTSZ
291+
T( 1 ) = CMPLX( MINTSZ )
292292
ELSE
293-
T( 1 ) = MB*M*NBLCKS + 5
293+
T( 1 ) = CMPLX( MB*M*NBLCKS + 5 )
294294
END IF
295-
T( 2 ) = MB
296-
T( 3 ) = NB
295+
T( 2 ) = CMPLX( MB )
296+
T( 3 ) = CMPLX( NB )
297297
IF( MINW ) THEN
298-
WORK( 1 ) = LWMIN
298+
WORK( 1 ) = CMPLX( LWMIN )
299299
ELSE
300-
WORK( 1 ) = LWREQ
300+
WORK( 1 ) = CMPLX( LWREQ )
301301
END IF
302302
END IF
303303
IF( INFO.NE.0 ) THEN
@@ -322,7 +322,7 @@ SUBROUTINE CGELQ( M, N, A, LDA, T, TSIZE, WORK, LWORK,
322322
$ LWORK, INFO )
323323
END IF
324324
*
325-
WORK( 1 ) = LWREQ
325+
WORK( 1 ) = CMPLX( LWREQ )
326326
*
327327
RETURN
328328
*

SRC/cgelqf.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ SUBROUTINE CGELQF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
177177
INFO = 0
178178
NB = ILAENV( 1, 'CGELQF', ' ', M, N, -1, -1 )
179179
LWKOPT = M*NB
180-
WORK( 1 ) = LWKOPT
180+
WORK( 1 ) = CMPLX( LWKOPT )
181181
LQUERY = ( LWORK.EQ.-1 )
182182
IF( M.LT.0 ) THEN
183183
INFO = -1
@@ -268,7 +268,7 @@ SUBROUTINE CGELQF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
268268
$ CALL CGELQ2( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK,
269269
$ IINFO )
270270
*
271-
WORK( 1 ) = IWS
271+
WORK( 1 ) = CMPLX( IWS )
272272
RETURN
273273
*
274274
* End of CGELQF

SRC/cgelsd.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,9 +373,9 @@ SUBROUTINE CGELSD( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK,
373373
END IF
374374
END IF
375375
MINWRK = MIN( MINWRK, MAXWRK )
376-
WORK( 1 ) = MAXWRK
376+
WORK( 1 ) = CMPLX( MAXWRK )
377377
IWORK( 1 ) = LIWORK
378-
RWORK( 1 ) = LRWORK
378+
RWORK( 1 ) = REAL( LRWORK )
379379
*
380380
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
381381
INFO = -12
@@ -665,9 +665,9 @@ SUBROUTINE CGELSD( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK,
665665
END IF
666666
*
667667
10 CONTINUE
668-
WORK( 1 ) = MAXWRK
668+
WORK( 1 ) = CMPLX( MAXWRK )
669669
IWORK( 1 ) = LIWORK
670-
RWORK( 1 ) = LRWORK
670+
RWORK( 1 ) = REAL( LRWORK )
671671
RETURN
672672
*
673673
* End of CGELSD

SRC/cgelss.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ SUBROUTINE CGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK,
367367
END IF
368368
MAXWRK = MAX( MINWRK, MAXWRK )
369369
END IF
370-
WORK( 1 ) = MAXWRK
370+
WORK( 1 ) = CMPLX( MAXWRK )
371371
*
372372
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY )
373373
$ INFO = -12
@@ -786,7 +786,7 @@ SUBROUTINE CGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK,
786786
$ INFO )
787787
END IF
788788
70 CONTINUE
789-
WORK( 1 ) = MAXWRK
789+
WORK( 1 ) = CMPLX( MAXWRK )
790790
RETURN
791791
*
792792
* End of CGELSS

SRC/cgelsy.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ SUBROUTINE CGELSY( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND,
357357
*
358358
CALL CGEQP3( M, N, A, LDA, JPVT, WORK( 1 ), WORK( MN+1 ),
359359
$ LWORK-MN, RWORK, INFO )
360-
WSIZE = MN + REAL( WORK( MN+1 ) )
360+
WSIZE = REAL( MN ) + REAL( WORK( MN+1 ) )
361361
*
362362
* complex workspace: MN+NB*(N+1). real workspace 2*N.
363363
* Details of Householder rotations stored in WORK(1:MN).
@@ -418,7 +418,7 @@ SUBROUTINE CGELSY( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND,
418418
CALL CUNMQR( 'Left', 'Conjugate transpose', M, NRHS, MN, A,
419419
$ LDA,
420420
$ WORK( 1 ), B, LDB, WORK( 2*MN+1 ), LWORK-2*MN, INFO )
421-
WSIZE = MAX( WSIZE, 2*MN+REAL( WORK( 2*MN+1 ) ) )
421+
WSIZE = MAX( WSIZE, REAL( 2*MN )+REAL( WORK( 2*MN+1 ) ) )
422422
*
423423
* complex workspace: 2*MN+NB*NRHS.
424424
*

SRC/cgemqr.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ SUBROUTINE CGEMQR( SIDE, TRANS, M, N, K, A, LDA, T, TSIZE,
254254
END IF
255255
*
256256
IF( INFO.EQ.0 ) THEN
257-
WORK( 1 ) = LW
257+
WORK( 1 ) = CMPLX( LW )
258258
END IF
259259
*
260260
IF( INFO.NE.0 ) THEN
@@ -279,7 +279,7 @@ SUBROUTINE CGEMQR( SIDE, TRANS, M, N, K, A, LDA, T, TSIZE,
279279
$ NB, C, LDC, WORK, LWORK, INFO )
280280
END IF
281281
*
282-
WORK( 1 ) = LW
282+
WORK( 1 ) = CMPLX( LW )
283283
*
284284
RETURN
285285
*

SRC/cgeqlf.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ SUBROUTINE CGEQLF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
187187
NB = ILAENV( 1, 'CGEQLF', ' ', M, N, -1, -1 )
188188
LWKOPT = N*NB
189189
END IF
190-
WORK( 1 ) = LWKOPT
190+
WORK( 1 ) = CMPLX( LWKOPT )
191191
*
192192
IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN
193193
INFO = -7
@@ -279,7 +279,7 @@ SUBROUTINE CGEQLF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
279279
IF( MU.GT.0 .AND. NU.GT.0 )
280280
$ CALL CGEQL2( MU, NU, A, LDA, TAU, WORK, IINFO )
281281
*
282-
WORK( 1 ) = IWS
282+
WORK( 1 ) = CMPLX( IWS )
283283
RETURN
284284
*
285285
* End of CGEQLF

0 commit comments

Comments
 (0)