14 #include "../PBpblas.h"
15 #include "../PBtools.h"
16 #include "../PBblacs.h"
17 #include "../PBblas.h"
21 int IOFFD,
char * ALPHA,
char * AC,
int LDAC,
22 char * AR,
int LDAR,
char * C,
int LDC )
24 void PB_Ctzherk(
TYPE, UPLO, M, N, K, IOFFD, ALPHA, AC, LDAC, AR, LDAR,
30 int IOFFD, K, LDAC, LDAR, LDC, M, N;
156 int i1, j1, m1, mn, n1, size;
162 if( ( M <= 0 ) || ( N <= 0 ) )
return;
167 mn =
MAX( 0, -IOFFD );
168 if( ( n1 =
MIN( mn, N ) ) > 0 )
170 &LDAC, AR, &LDAR, one, C, &LDC );
171 if( ( n1 =
MIN( M-IOFFD, N ) - mn ) > 0 )
173 i1 = ( j1 = mn ) + IOFFD;
175 Mptr( AC, i1, 0, LDAC, size ), &LDAC, one,
Mptr( C, i1,
176 j1, LDC, size ), &LDC );
177 if( ( m1 = M - mn - n1 - IOFFD ) > 0 )
181 Mptr( AC, i1, 0, LDAC, size ), &LDAC,
Mptr( AR, 0, j1, LDAR,
182 size ), &LDAR, one,
Mptr( C, i1, j1, LDC, size ), &LDC );
189 mn =
MIN( M - IOFFD, N );
190 if( ( n1 = mn -
MAX( 0, -IOFFD ) ) > 0 )
193 if( ( m1 =
MAX( 0, IOFFD ) ) > 0 )
195 AC, &LDAC, AR, &LDAR, one, C, &LDC );
197 Mptr( AC, m1, 0, LDAC, size ), &LDAC, one,
198 Mptr( C, m1, j1, LDC, size ), &LDC );
200 if( ( n1 = N -
MAX( 0, mn ) ) > 0 )
204 &LDAC,
Mptr( AR, 0, j1, LDAR, size ), &LDAR, one,
Mptr( C, 0, j1,
211 AC, &LDAC, AR, &LDAR,
TYPE->one, C, &LDC );