188 SUBROUTINE zsymm(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
195 COMPLEX*16 ALPHA,BETA
196 INTEGER LDA,LDB,LDC,M,N
200 COMPLEX*16 A(LDA,*),B(LDB,*),C(LDC,*)
216 COMPLEX*16 TEMP1,TEMP2
217 INTEGER I,INFO,J,K,NROWA
222 parameter(one= (1.0d+0,0.0d+0))
224 parameter(zero= (0.0d+0,0.0d+0))
229 IF (lsame(side,
'L'))
THEN
234 upper = lsame(uplo,
'U')
239 IF ((.NOT.lsame(side,
'L')) .AND.
240 + (.NOT.lsame(side,
'R')))
THEN
242 ELSE IF ((.NOT.upper) .AND.
243 + (.NOT.lsame(uplo,
'L')))
THEN
245 ELSE IF (m.LT.0)
THEN
247 ELSE IF (n.LT.0)
THEN
249 ELSE IF (lda.LT.max(1,nrowa))
THEN
251 ELSE IF (ldb.LT.max(1,m))
THEN
253 ELSE IF (ldc.LT.max(1,m))
THEN
257 CALL xerbla(
'ZSYMM ',info)
263 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
264 + ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN
268 IF (alpha.EQ.zero)
THEN
269 IF (beta.EQ.zero)
THEN
287 IF (lsame(side,
'L'))
THEN
297 c(k,j) = c(k,j) + temp1*a(k,i)
298 temp2 = temp2 + b(k,j)*a(k,i)
300 IF (beta.EQ.zero)
THEN
301 c(i,j) = temp1*a(i,i) + alpha*temp2
303 c(i,j) = beta*c(i,j) + temp1*a(i,i) +
314 c(k,j) = c(k,j) + temp1*a(k,i)
315 temp2 = temp2 + b(k,j)*a(k,i)
317 IF (beta.EQ.zero)
THEN
318 c(i,j) = temp1*a(i,i) + alpha*temp2
320 c(i,j) = beta*c(i,j) + temp1*a(i,i) +
332 IF (beta.EQ.zero)
THEN
334 c(i,j) = temp1*b(i,j)
338 c(i,j) = beta*c(i,j) + temp1*b(i,j)
348 c(i,j) = c(i,j) + temp1*b(i,k)
358 c(i,j) = c(i,j) + temp1*b(i,k)
subroutine xerbla(srname, info)
subroutine zsymm(side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)
ZSYMM