@@ -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