190 SUBROUTINE ssymm(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
199 INTEGER lda,ldb,ldc,m,n
203 REAL a(lda,*),b(ldb,*),c(ldc,*)
220 INTEGER i,info,j,k,nrowa
225 parameter(one=1.0e+0,zero=0.0e+0)
230 IF (
lsame(side,
'L'))
THEN
235 upper =
lsame(uplo,
'U')
240 IF ((.NOT.
lsame(side,
'L')) .AND. (.NOT.
lsame(side,
'R')))
THEN
242 ELSE IF ((.NOT.upper) .AND. (.NOT.
lsame(uplo,
'L')))
THEN
244 ELSE IF (m.LT.0)
THEN
246 ELSE IF (n.LT.0)
THEN
248 ELSE IF (lda.LT.max(1,nrowa))
THEN
250 ELSE IF (ldb.LT.max(1,m))
THEN
252 ELSE IF (ldc.LT.max(1,m))
THEN
256 CALL
xerbla(
'SSYMM ',info)
262 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
263 + ((alpha.EQ.zero).AND. (beta.EQ.one))) return
267 IF (alpha.EQ.zero)
THEN
268 IF (beta.EQ.zero)
THEN
286 IF (
lsame(side,
'L'))
THEN
296 c(k,j) = c(k,j) + temp1*a(k,i)
297 temp2 = temp2 + b(k,j)*a(k,i)
299 IF (beta.EQ.zero)
THEN
300 c(i,j) = temp1*a(i,i) + alpha*temp2
302 c(i,j) = beta*c(i,j) + temp1*a(i,i) +
313 c(k,j) = c(k,j) + temp1*a(k,i)
314 temp2 = temp2 + b(k,j)*a(k,i)
316 IF (beta.EQ.zero)
THEN
317 c(i,j) = temp1*a(i,i) + alpha*temp2
319 c(i,j) = beta*c(i,j) + temp1*a(i,i) +
331 IF (beta.EQ.zero)
THEN
333 c(i,j) = temp1*b(i,j)
337 c(i,j) = beta*c(i,j) + temp1*b(i,j)
347 c(i,j) = c(i,j) + temp1*b(i,k)
357 c(i,j) = c(i,j) + temp1*b(i,k)