1 SUBROUTINE pcchekpad( ICTXT, MESS, M, N, A, LDA, IPRE, IPOST,
10 INTEGER ICTXT, IPOST, IPRE, LDA, M, N
81 INTEGER I, IAM, IDUMM, INFO, J, K, MYCOL, MYROW,
85 EXTERNAL blacs_gridinfo, igamx2d
94 CALL blacs_gridinfo( ictxt, nprow, npcol, myrow, mycol )
95 iam = myrow*npcol + mycol
102 IF( a( i ).NE.chkval )
THEN
103 WRITE( *, fmt = 9998 ) myrow, mycol, mess,
' pre', i,
104 $ real( a( i ) ), aimag( a( i ) )
109 WRITE( *, fmt = * )
'WARNING no pre-guardzone in PCCHEKPAD'
114 IF( ipost.GT.0 )
THEN
116 DO 20 i = j, j+ipost-1
117 IF( a( i ).NE.chkval )
THEN
118 WRITE( *, fmt = 9998 ) myrow, mycol, mess,
'post',
119 $ i-j+1, real( a( i ) ),
126 $
'WARNING no post-guardzone buffer in PCCHEKPAD'
134 DO 30 i = k, k + (lda-m) - 1
135 IF( a( i ).NE.chkval )
THEN
136 WRITE( *, fmt = 9997 ) myrow, mycol, mess,
137 $ i-ipre-lda*(j-1), j, real( a( i ) ),
146 CALL igamx2d( ictxt,
'All',
' ', 1, 1, info, 1, idumm, idumm, -1,
148 IF( iam.EQ.0 .AND. info.GE.0 )
THEN
149 WRITE( *, fmt = 9999 ) info / npcol, mod( info, npcol ), mess
152 9999
FORMAT(
'{', i5,
',', i5,
'}: Memory overwrite in ', a )
153 9998
FORMAT(
'{', i5,
',', i5,
'}: ', a,
' memory overwrite in ',
154 $ a4,
'-guardzone: loc(', i3,
') = ', g11.4,
'+ i*',
156 9997
FORMAT(
'{', i5,
',', i5,
'}: ', a,
' memory overwrite in ',
157 $
'lda-m gap: loc(', i3,
',', i3,
') = ', g11.4,