Skip to content

Commit 2429dc7

Browse files
Merge pull request #51 from joseeroman/jose/macos-portability
Fixes for macOS portability
2 parents 681a6cf + a0f76fc commit 2429dc7

28 files changed

+367
-174
lines changed

PBLAS/SRC/PTZBLAS/cvvdotc.f

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,16 @@ SUBROUTINE CVVDOTC( N, DOT, X, INCX, Y, INCY )
5454
*
5555
* =====================================================================
5656
*
57-
* .. External Functions ..
58-
COMPLEX CDOTC
59-
EXTERNAL CDOTC
57+
* .. Local Scalars ..
58+
COMPLEX DOTC
59+
* ..
60+
* .. External Subroutines ..
61+
EXTERNAL CCDOTC
6062
* ..
6163
* .. Executable Statements ..
6264
*
63-
DOT = DOT + CDOTC( N, X, INCX, Y, INCY )
65+
CALL CCDOTC( N, DOTC, X, INCX, Y, INCY )
66+
DOT = DOT + DOTC
6467
*
6568
RETURN
6669
*

PBLAS/SRC/PTZBLAS/cvvdotu.f

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,16 @@ SUBROUTINE CVVDOTU( N, DOT, X, INCX, Y, INCY )
5454
*
5555
* =====================================================================
5656
*
57-
* .. External Functions ..
58-
COMPLEX CDOTU
59-
EXTERNAL CDOTU
57+
* .. Local Scalars ..
58+
COMPLEX DOTU
59+
* ..
60+
* .. External Subroutines ..
61+
EXTERNAL CCDOTU
6062
* ..
6163
* .. Executable Statements ..
6264
*
63-
DOT = DOT + CDOTU( N, X, INCX, Y, INCY )
65+
CALL CCDOTU( N, DOTU, X, INCX, Y, INCY )
66+
DOT = DOT + DOTU
6467
*
6568
RETURN
6669
*

PBLAS/SRC/PTZBLAS/zvvdotc.f

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,16 @@ SUBROUTINE ZVVDOTC( N, DOT, X, INCX, Y, INCY )
5454
*
5555
* =====================================================================
5656
*
57-
* .. External Functions ..
58-
COMPLEX*16 ZDOTC
59-
EXTERNAL ZDOTC
57+
* .. Local Scalars ..
58+
COMPLEX*16 DOTC
59+
* ..
60+
* .. External Subroutines ..
61+
EXTERNAL ZZDOTC
6062
* ..
6163
* .. Executable Statements ..
6264
*
63-
DOT = DOT + ZDOTC( N, X, INCX, Y, INCY )
65+
CALL ZZDOTC( N, DOTC, X, INCX, Y, INCY )
66+
DOT = DOT + DOTC
6467
*
6568
RETURN
6669
*

PBLAS/SRC/PTZBLAS/zvvdotu.f

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,16 @@ SUBROUTINE ZVVDOTU( N, DOT, X, INCX, Y, INCY )
5454
*
5555
* =====================================================================
5656
*
57-
* .. External Functions ..
58-
COMPLEX*16 ZDOTU
59-
EXTERNAL ZDOTU
57+
* .. Local Scalars ..
58+
COMPLEX*16 DOTU
59+
* ..
60+
* .. External Subroutines ..
61+
EXTERNAL ZZDOTU
6062
* ..
6163
* .. Executable Statements ..
6264
*
63-
DOT = DOT + ZDOTU( N, X, INCX, Y, INCY )
65+
CALL ZZDOTU( N, DOTU, X, INCX, Y, INCY )
66+
DOT = DOT + DOTU
6467
*
6568
RETURN
6669
*

SRC/clanv2.f

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,10 @@ SUBROUTINE CLANV2( A, B, C, D, RT1, RT2, CS, SN )
5555
* ..
5656
* .. Local Scalars ..
5757
COMPLEX AA, BB, DD, T, TEMP, TEMP2, U, X, Y
58-
* ..
59-
* .. External Functions ..
60-
COMPLEX CLADIV
61-
EXTERNAL CLADIV
58+
REAL CR, CI
6259
* ..
6360
* .. External Subroutines ..
64-
EXTERNAL CLARTG
61+
EXTERNAL CLARTG, SLADIV
6562
* ..
6663
* .. Intrinsic Functions ..
6764
INTRINSIC REAL, CMPLX, CONJG, AIMAG, SQRT
@@ -97,9 +94,13 @@ SUBROUTINE CLANV2( A, B, C, D, RT1, RT2, CS, SN )
9794
SN = CMPLX( RZERO, RONE )*CS
9895
ELSE
9996
TEMP = SQRT( B+C )
100-
TEMP2 = CLADIV( SQRT( B ), TEMP )
97+
CALL SLADIV( REAL( SQRT( B ) ), AIMAG( SQRT( B ) ),
98+
$ REAL( TEMP ), AIMAG( TEMP ), CR, CI )
99+
TEMP2 = CMPLX( CR, CI )
101100
CS = REAL( TEMP2 )
102-
SN = CLADIV( SQRT( C ), TEMP )
101+
CALL SLADIV( REAL( SQRT( C ) ), AIMAG( SQRT( C ) ),
102+
$ REAL( TEMP ), AIMAG( TEMP ), CR, CI )
103+
SN = CMPLX( CR, CI )
103104
END IF
104105
B = B - C
105106
C = ZERO
@@ -114,7 +115,9 @@ SUBROUTINE CLANV2( A, B, C, D, RT1, RT2, CS, SN )
114115
Y = SQRT( X*X+U )
115116
IF( REAL( X )*REAL( Y )+AIMAG( X )*AIMAG( Y ).LT.RZERO )
116117
$ Y = -Y
117-
T = T - CLADIV( U, ( X+Y ) )
118+
CALL SLADIV( REAL( U ), AIMAG( U ),
119+
$ REAL( X+Y ), AIMAG( X+Y ), CR, CI )
120+
T = T - CMPLX( CR, CI )
118121
*
119122
* Do one QR step with exact shift T - resulting 2 x 2 in
120123
* triangular form.

SRC/pcdttrf.f

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -376,22 +376,22 @@ SUBROUTINE PCDTTRF( N, DL, D, DU, JA, DESCA, AF, LAF, WORK, LWORK,
376376
$ NB, NP, NPCOL, NPROW, NP_SAVE, ODD_SIZE,
377377
$ PART_OFFSET, PART_SIZE, RETURN_CODE, STORE_N_A,
378378
$ TEMP, WORK_SIZE_MIN, WORK_U
379+
COMPLEX DOTC
379380
* ..
380381
* .. Local Arrays ..
381382
INTEGER DESCA_1XP( 7 ), PARAM_CHECK( 7, 3 )
382383
* ..
383384
* .. External Subroutines ..
384385
EXTERNAL BLACS_GET, BLACS_GRIDEXIT, BLACS_GRIDINFO,
385-
$ CAXPY, CGEMM, CGERV2D, CGESD2D, CLAMOV,
386+
$ CAXPY, CCDOTC, CGEMM, CGERV2D, CGESD2D, CLAMOV,
386387
$ CLATCPY, CPBTRF, CPOTRF, CSYRK, CTBTRS, CTRMM,
387388
$ CTRRV2D, CTRSD2D, CTRSM, CTRTRS, DESC_CONVERT,
388389
$ GLOBCHK, PXERBLA, RESHAPE
389390
* ..
390391
* .. External Functions ..
391392
LOGICAL LSAME
392393
INTEGER NUMROC
393-
COMPLEX CDOTC
394-
EXTERNAL CDOTC, LSAME, NUMROC
394+
EXTERNAL LSAME, NUMROC
395395
* ..
396396
* .. Intrinsic Functions ..
397397
INTRINSIC ICHAR, MIN, MOD
@@ -741,8 +741,8 @@ SUBROUTINE PCDTTRF( N, DL, D, DU, JA, DESCA, AF, LAF, WORK, LWORK,
741741
*
742742
* Calculate the update block for previous proc, E_i = GL_i{GU_i}
743743
*
744-
AF( ODD_SIZE+3 ) = -CONE *
745-
$ CDOTC( ODD_SIZE, AF( 1 ), 1, AF( WORK_U+1 ), 1 )
744+
CALL CCDOTC( ODD_SIZE, DOTC, AF( 1 ), 1, AF( WORK_U+1 ), 1 )
745+
AF( ODD_SIZE+3 ) = -CONE * DOTC
746746
*
747747
*
748748
* Initiate send of E_i to previous processor to overlap

SRC/pchetd2.f

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -228,17 +228,16 @@ SUBROUTINE PCHETD2( UPLO, N, A, IA, JA, DESCA, D, E, TAU, WORK,
228228
INTEGER IACOL, IAROW, ICOFFA, ICTXT, II, IK, IROFFA, J,
229229
$ JJ, JK, JN, LDA, LWMIN, MYCOL, MYROW, NPCOL,
230230
$ NPROW
231-
COMPLEX ALPHA, TAUI
231+
COMPLEX ALPHA, TAUI, DOTC
232232
* ..
233233
* .. External Subroutines ..
234-
EXTERNAL BLACS_ABORT, BLACS_GRIDINFO, CAXPY, CGEBR2D,
235-
$ CGEBS2D, CHK1MAT, CHEMV,
234+
EXTERNAL BLACS_ABORT, BLACS_GRIDINFO, CAXPY, CCDOTC,
235+
$ CGEBR2D, CGEBS2D, CHK1MAT, CHEMV,
236236
$ CHER2, CLARFG, INFOG2L, PXERBLA
237237
* ..
238238
* .. External Functions ..
239239
LOGICAL LSAME
240-
COMPLEX CDOTC
241-
EXTERNAL LSAME, CDOTC
240+
EXTERNAL LSAME
242241
* ..
243242
* .. Intrinsic Functions ..
244243
INTRINSIC CMPLX, REAL
@@ -333,8 +332,9 @@ SUBROUTINE PCHETD2( UPLO, N, A, IA, JA, DESCA, D, E, TAU, WORK,
333332
*
334333
* Compute w := x - 1/2 * tau * (x'*v) * v
335334
*
336-
ALPHA = -HALF*TAUI*CDOTC( J, TAU( JJ ), 1,
337-
$ A( II+JK*LDA ), 1 )
335+
CALL CCDOTC( J, DOTC, TAU( JJ ), 1, A( II+JK*LDA ),
336+
$ 1 )
337+
ALPHA = -HALF*TAUI*DOTC
338338
CALL CAXPY( J, ALPHA, A( II+JK*LDA ), 1,
339339
$ TAU( JJ ), 1 )
340340
*
@@ -413,8 +413,9 @@ SUBROUTINE PCHETD2( UPLO, N, A, IA, JA, DESCA, D, E, TAU, WORK,
413413
*
414414
* Compute w := x - 1/2 * tau * (x'*v) * v
415415
*
416-
ALPHA = -HALF*TAUI*CDOTC( N-J, TAU( JK ), 1,
417-
$ A( IK+1+(JK-1)*LDA ), 1 )
416+
CALL CCDOTC( N-J, DOTC, TAU( JK ), 1,
417+
$ A( IK+1+(JK-1)*LDA ), 1 )
418+
ALPHA = -HALF*TAUI*DOTC
418419
CALL CAXPY( N-J, ALPHA, A( IK+1+(JK-1)*LDA ),
419420
$ 1, TAU( JK ), 1 )
420421
*

SRC/pclarfg.f

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,16 @@ SUBROUTINE PCLARFG( N, ALPHA, IAX, JAX, X, IX, JX, DESCX, INCX,
153153
* .. Local Scalars ..
154154
INTEGER ICTXT, IIAX, INDXTAU, IXCOL, IXROW, J, JJAX,
155155
$ KNT, MYCOL, MYROW, NPCOL, NPROW
156-
REAL ALPHI, ALPHR, BETA, RSAFMN, SAFMIN, XNORM
156+
REAL ALPHI, ALPHR, BETA, RSAFMN, SAFMIN, XNORM, CR,
157+
$ CI
157158
* ..
158159
* .. External Subroutines ..
159160
EXTERNAL BLACS_GRIDINFO, CGEBR2D, CGEBS2D, PCSCAL,
160-
$ PCSSCAL, INFOG2L, PSCNRM2
161+
$ PCSSCAL, INFOG2L, PSCNRM2, SLADIV
161162
* ..
162163
* .. External Functions ..
163164
REAL SLAMCH, SLAPY3
164-
COMPLEX CLADIV
165-
EXTERNAL CLADIV, SLAPY3, SLAMCH
165+
EXTERNAL SLAPY3, SLAMCH
166166
* ..
167167
* .. Intrinsic Functions ..
168168
INTRINSIC ABS, AIMAG, CMPLX, REAL, SIGN
@@ -265,7 +265,9 @@ SUBROUTINE PCLARFG( N, ALPHA, IAX, JAX, X, IX, JX, DESCX, INCX,
265265
BETA = -SIGN( SLAPY3( ALPHR, ALPHI, XNORM ), ALPHR )
266266
TAU( INDXTAU ) = CMPLX( ( BETA-ALPHR ) / BETA,
267267
$ -ALPHI / BETA )
268-
ALPHA = CLADIV( CMPLX( ONE ), ALPHA-BETA )
268+
CALL SLADIV( ONE, ZERO, REAL( ALPHA-BETA ),
269+
$ AIMAG( ALPHA-BETA ), CR, CI )
270+
ALPHA = CMPLX( CR, CI )
269271
CALL PCSCAL( N-1, ALPHA, X, IX, JX, DESCX, INCX )
270272
*
271273
* If ALPHA is subnormal, it may lose relative accuracy
@@ -277,7 +279,9 @@ SUBROUTINE PCLARFG( N, ALPHA, IAX, JAX, X, IX, JX, DESCX, INCX,
277279
ELSE
278280
TAU( INDXTAU ) = CMPLX( ( BETA-ALPHR ) / BETA,
279281
$ -ALPHI / BETA )
280-
ALPHA = CLADIV( CMPLX( ONE ), ALPHA-BETA )
282+
CALL SLADIV( ONE, ZERO, REAL( ALPHA-BETA ),
283+
$ AIMAG( ALPHA-BETA ), CR, CI )
284+
ALPHA = CMPLX( CR, CI )
281285
CALL PCSCAL( N-1, ALPHA, X, IX, JX, DESCX, INCX )
282286
ALPHA = BETA
283287
END IF

0 commit comments

Comments
 (0)