Skip to content

Fixes for macOS portability #51

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
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
11 changes: 7 additions & 4 deletions PBLAS/SRC/PTZBLAS/cvvdotc.f
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,16 @@ SUBROUTINE CVVDOTC( N, DOT, X, INCX, Y, INCY )
*
* =====================================================================
*
* .. External Functions ..
COMPLEX CDOTC
EXTERNAL CDOTC
* .. Local Scalars ..
COMPLEX DOTC
* ..
* .. External Subroutines ..
EXTERNAL CCDOTC
* ..
* .. Executable Statements ..
*
DOT = DOT + CDOTC( N, X, INCX, Y, INCY )
CALL CCDOTC( N, DOTC, X, INCX, Y, INCY )
DOT = DOT + DOTC
*
RETURN
*
Expand Down
11 changes: 7 additions & 4 deletions PBLAS/SRC/PTZBLAS/cvvdotu.f
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,16 @@ SUBROUTINE CVVDOTU( N, DOT, X, INCX, Y, INCY )
*
* =====================================================================
*
* .. External Functions ..
COMPLEX CDOTU
EXTERNAL CDOTU
* .. Local Scalars ..
COMPLEX DOTU
* ..
* .. External Subroutines ..
EXTERNAL CCDOTU
* ..
* .. Executable Statements ..
*
DOT = DOT + CDOTU( N, X, INCX, Y, INCY )
CALL CCDOTU( N, DOTU, X, INCX, Y, INCY )
DOT = DOT + DOTU
*
RETURN
*
Expand Down
11 changes: 7 additions & 4 deletions PBLAS/SRC/PTZBLAS/zvvdotc.f
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,16 @@ SUBROUTINE ZVVDOTC( N, DOT, X, INCX, Y, INCY )
*
* =====================================================================
*
* .. External Functions ..
COMPLEX*16 ZDOTC
EXTERNAL ZDOTC
* .. Local Scalars ..
COMPLEX*16 DOTC
* ..
* .. External Subroutines ..
EXTERNAL ZZDOTC
* ..
* .. Executable Statements ..
*
DOT = DOT + ZDOTC( N, X, INCX, Y, INCY )
CALL ZZDOTC( N, DOTC, X, INCX, Y, INCY )
DOT = DOT + DOTC
*
RETURN
*
Expand Down
11 changes: 7 additions & 4 deletions PBLAS/SRC/PTZBLAS/zvvdotu.f
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,16 @@ SUBROUTINE ZVVDOTU( N, DOT, X, INCX, Y, INCY )
*
* =====================================================================
*
* .. External Functions ..
COMPLEX*16 ZDOTU
EXTERNAL ZDOTU
* .. Local Scalars ..
COMPLEX*16 DOTU
* ..
* .. External Subroutines ..
EXTERNAL ZZDOTU
* ..
* .. Executable Statements ..
*
DOT = DOT + ZDOTU( N, X, INCX, Y, INCY )
CALL ZZDOTU( N, DOTU, X, INCX, Y, INCY )
DOT = DOT + DOTU
*
RETURN
*
Expand Down
19 changes: 11 additions & 8 deletions SRC/clanv2.f
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,10 @@ SUBROUTINE CLANV2( A, B, C, D, RT1, RT2, CS, SN )
* ..
* .. Local Scalars ..
COMPLEX AA, BB, DD, T, TEMP, TEMP2, U, X, Y
* ..
* .. External Functions ..
COMPLEX CLADIV
EXTERNAL CLADIV
REAL CR, CI
* ..
* .. External Subroutines ..
EXTERNAL CLARTG
EXTERNAL CLARTG, SLADIV
* ..
* .. Intrinsic Functions ..
INTRINSIC REAL, CMPLX, CONJG, AIMAG, SQRT
Expand Down Expand Up @@ -97,9 +94,13 @@ SUBROUTINE CLANV2( A, B, C, D, RT1, RT2, CS, SN )
SN = CMPLX( RZERO, RONE )*CS
ELSE
TEMP = SQRT( B+C )
TEMP2 = CLADIV( SQRT( B ), TEMP )
CALL SLADIV( REAL( SQRT( B ) ), AIMAG( SQRT( B ) ),
$ REAL( TEMP ), AIMAG( TEMP ), CR, CI )
TEMP2 = CMPLX( CR, CI )
CS = REAL( TEMP2 )
SN = CLADIV( SQRT( C ), TEMP )
CALL SLADIV( REAL( SQRT( C ) ), AIMAG( SQRT( C ) ),
$ REAL( TEMP ), AIMAG( TEMP ), CR, CI )
SN = CMPLX( CR, CI )
END IF
B = B - C
C = ZERO
Expand All @@ -114,7 +115,9 @@ SUBROUTINE CLANV2( A, B, C, D, RT1, RT2, CS, SN )
Y = SQRT( X*X+U )
IF( REAL( X )*REAL( Y )+AIMAG( X )*AIMAG( Y ).LT.RZERO )
$ Y = -Y
T = T - CLADIV( U, ( X+Y ) )
CALL SLADIV( REAL( U ), AIMAG( U ),
$ REAL( X+Y ), AIMAG( X+Y ), CR, CI )
T = T - CMPLX( CR, CI )
*
* Do one QR step with exact shift T - resulting 2 x 2 in
* triangular form.
Expand Down
10 changes: 5 additions & 5 deletions SRC/pcdttrf.f
Original file line number Diff line number Diff line change
Expand Up @@ -376,22 +376,22 @@ SUBROUTINE PCDTTRF( N, DL, D, DU, JA, DESCA, AF, LAF, WORK, LWORK,
$ NB, NP, NPCOL, NPROW, NP_SAVE, ODD_SIZE,
$ PART_OFFSET, PART_SIZE, RETURN_CODE, STORE_N_A,
$ TEMP, WORK_SIZE_MIN, WORK_U
COMPLEX DOTC
* ..
* .. Local Arrays ..
INTEGER DESCA_1XP( 7 ), PARAM_CHECK( 7, 3 )
* ..
* .. External Subroutines ..
EXTERNAL BLACS_GET, BLACS_GRIDEXIT, BLACS_GRIDINFO,
$ CAXPY, CGEMM, CGERV2D, CGESD2D, CLAMOV,
$ CAXPY, CCDOTC, CGEMM, CGERV2D, CGESD2D, CLAMOV,
$ CLATCPY, CPBTRF, CPOTRF, CSYRK, CTBTRS, CTRMM,
$ CTRRV2D, CTRSD2D, CTRSM, CTRTRS, DESC_CONVERT,
$ GLOBCHK, PXERBLA, RESHAPE
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER NUMROC
COMPLEX CDOTC
EXTERNAL CDOTC, LSAME, NUMROC
EXTERNAL LSAME, NUMROC
* ..
* .. Intrinsic Functions ..
INTRINSIC ICHAR, MIN, MOD
Expand Down Expand Up @@ -741,8 +741,8 @@ SUBROUTINE PCDTTRF( N, DL, D, DU, JA, DESCA, AF, LAF, WORK, LWORK,
*
* Calculate the update block for previous proc, E_i = GL_i{GU_i}
*
AF( ODD_SIZE+3 ) = -CONE *
$ CDOTC( ODD_SIZE, AF( 1 ), 1, AF( WORK_U+1 ), 1 )
CALL CCDOTC( ODD_SIZE, DOTC, AF( 1 ), 1, AF( WORK_U+1 ), 1 )
AF( ODD_SIZE+3 ) = -CONE * DOTC
*
*
* Initiate send of E_i to previous processor to overlap
Expand Down
19 changes: 10 additions & 9 deletions SRC/pchetd2.f
Original file line number Diff line number Diff line change
Expand Up @@ -228,17 +228,16 @@ SUBROUTINE PCHETD2( UPLO, N, A, IA, JA, DESCA, D, E, TAU, WORK,
INTEGER IACOL, IAROW, ICOFFA, ICTXT, II, IK, IROFFA, J,
$ JJ, JK, JN, LDA, LWMIN, MYCOL, MYROW, NPCOL,
$ NPROW
COMPLEX ALPHA, TAUI
COMPLEX ALPHA, TAUI, DOTC
* ..
* .. External Subroutines ..
EXTERNAL BLACS_ABORT, BLACS_GRIDINFO, CAXPY, CGEBR2D,
$ CGEBS2D, CHK1MAT, CHEMV,
EXTERNAL BLACS_ABORT, BLACS_GRIDINFO, CAXPY, CCDOTC,
$ CGEBR2D, CGEBS2D, CHK1MAT, CHEMV,
$ CHER2, CLARFG, INFOG2L, PXERBLA
* ..
* .. External Functions ..
LOGICAL LSAME
COMPLEX CDOTC
EXTERNAL LSAME, CDOTC
EXTERNAL LSAME
* ..
* .. Intrinsic Functions ..
INTRINSIC CMPLX, REAL
Expand Down Expand Up @@ -333,8 +332,9 @@ SUBROUTINE PCHETD2( UPLO, N, A, IA, JA, DESCA, D, E, TAU, WORK,
*
* Compute w := x - 1/2 * tau * (x'*v) * v
*
ALPHA = -HALF*TAUI*CDOTC( J, TAU( JJ ), 1,
$ A( II+JK*LDA ), 1 )
CALL CCDOTC( J, DOTC, TAU( JJ ), 1, A( II+JK*LDA ),
$ 1 )
ALPHA = -HALF*TAUI*DOTC
CALL CAXPY( J, ALPHA, A( II+JK*LDA ), 1,
$ TAU( JJ ), 1 )
*
Expand Down Expand Up @@ -413,8 +413,9 @@ SUBROUTINE PCHETD2( UPLO, N, A, IA, JA, DESCA, D, E, TAU, WORK,
*
* Compute w := x - 1/2 * tau * (x'*v) * v
*
ALPHA = -HALF*TAUI*CDOTC( N-J, TAU( JK ), 1,
$ A( IK+1+(JK-1)*LDA ), 1 )
CALL CCDOTC( N-J, DOTC, TAU( JK ), 1,
$ A( IK+1+(JK-1)*LDA ), 1 )
ALPHA = -HALF*TAUI*DOTC
CALL CAXPY( N-J, ALPHA, A( IK+1+(JK-1)*LDA ),
$ 1, TAU( JK ), 1 )
*
Expand Down
16 changes: 10 additions & 6 deletions SRC/pclarfg.f
Original file line number Diff line number Diff line change
Expand Up @@ -153,16 +153,16 @@ SUBROUTINE PCLARFG( N, ALPHA, IAX, JAX, X, IX, JX, DESCX, INCX,
* .. Local Scalars ..
INTEGER ICTXT, IIAX, INDXTAU, IXCOL, IXROW, J, JJAX,
$ KNT, MYCOL, MYROW, NPCOL, NPROW
REAL ALPHI, ALPHR, BETA, RSAFMN, SAFMIN, XNORM
REAL ALPHI, ALPHR, BETA, RSAFMN, SAFMIN, XNORM, CR,
$ CI
* ..
* .. External Subroutines ..
EXTERNAL BLACS_GRIDINFO, CGEBR2D, CGEBS2D, PCSCAL,
$ PCSSCAL, INFOG2L, PSCNRM2
$ PCSSCAL, INFOG2L, PSCNRM2, SLADIV
* ..
* .. External Functions ..
REAL SLAMCH, SLAPY3
COMPLEX CLADIV
EXTERNAL CLADIV, SLAPY3, SLAMCH
EXTERNAL SLAPY3, SLAMCH
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS, AIMAG, CMPLX, REAL, SIGN
Expand Down Expand Up @@ -265,7 +265,9 @@ SUBROUTINE PCLARFG( N, ALPHA, IAX, JAX, X, IX, JX, DESCX, INCX,
BETA = -SIGN( SLAPY3( ALPHR, ALPHI, XNORM ), ALPHR )
TAU( INDXTAU ) = CMPLX( ( BETA-ALPHR ) / BETA,
$ -ALPHI / BETA )
ALPHA = CLADIV( CMPLX( ONE ), ALPHA-BETA )
CALL SLADIV( ONE, ZERO, REAL( ALPHA-BETA ),
$ AIMAG( ALPHA-BETA ), CR, CI )
ALPHA = CMPLX( CR, CI )
CALL PCSCAL( N-1, ALPHA, X, IX, JX, DESCX, INCX )
*
* If ALPHA is subnormal, it may lose relative accuracy
Expand All @@ -277,7 +279,9 @@ SUBROUTINE PCLARFG( N, ALPHA, IAX, JAX, X, IX, JX, DESCX, INCX,
ELSE
TAU( INDXTAU ) = CMPLX( ( BETA-ALPHR ) / BETA,
$ -ALPHI / BETA )
ALPHA = CLADIV( CMPLX( ONE ), ALPHA-BETA )
CALL SLADIV( ONE, ZERO, REAL( ALPHA-BETA ),
$ AIMAG( ALPHA-BETA ), CR, CI )
ALPHA = CMPLX( CR, CI )
CALL PCSCAL( N-1, ALPHA, X, IX, JX, DESCX, INCX )
ALPHA = BETA
END IF
Expand Down
Loading