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. (.NOT.lsame(side,
'R')))
THEN 241 ELSE IF ((.NOT.upper) .AND. (.NOT.lsame(uplo,
'L')))
THEN 243 ELSE IF (m.LT.0)
THEN 245 ELSE IF (n.LT.0)
THEN 247 ELSE IF (lda.LT.max(1,nrowa))
THEN 249 ELSE IF (ldb.LT.max(1,m))
THEN 251 ELSE IF (ldc.LT.max(1,m))
THEN 255 CALL xerbla(
'ZSYMM ',info)
261 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
262 + ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 266 IF (alpha.EQ.zero)
THEN 267 IF (beta.EQ.zero)
THEN 285 IF (lsame(side,
'L'))
THEN 295 c(k,j) = c(k,j) + temp1*a(k,i)
296 temp2 = temp2 + b(k,j)*a(k,i)
298 IF (beta.EQ.zero)
THEN 299 c(i,j) = temp1*a(i,i) + alpha*temp2
301 c(i,j) = beta*c(i,j) + temp1*a(i,i) +
312 c(k,j) = c(k,j) + temp1*a(k,i)
313 temp2 = temp2 + b(k,j)*a(k,i)
315 IF (beta.EQ.zero)
THEN 316 c(i,j) = temp1*a(i,i) + alpha*temp2
318 c(i,j) = beta*c(i,j) + temp1*a(i,i) +
330 IF (beta.EQ.zero)
THEN 332 c(i,j) = temp1*b(i,j)
336 c(i,j) = beta*c(i,j) + temp1*b(i,j)
346 c(i,j) = c(i,j) + temp1*b(i,k)
356 c(i,j) = c(i,j) + temp1*b(i,k)
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zsymm(SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
ZSYMM