168 SUBROUTINE ssyrk(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
180 REAL A(lda,*),C(ldc,*)
197 INTEGER I,INFO,J,L,NROWA
202 parameter(one=1.0e+0,zero=0.0e+0)
207 IF (lsame(trans,
'N'))
THEN 212 upper = lsame(uplo,
'U')
215 IF ((.NOT.upper) .AND. (.NOT.lsame(uplo,
'L')))
THEN 217 ELSE IF ((.NOT.lsame(trans,
'N')) .AND.
218 + (.NOT.lsame(trans,
'T')) .AND.
219 + (.NOT.lsame(trans,
'C')))
THEN 221 ELSE IF (n.LT.0)
THEN 223 ELSE IF (k.LT.0)
THEN 225 ELSE IF (lda.LT.max(1,nrowa))
THEN 227 ELSE IF (ldc.LT.max(1,n))
THEN 231 CALL xerbla(
'SSYRK ',info)
237 IF ((n.EQ.0) .OR. (((alpha.EQ.zero).OR.
238 + (k.EQ.0)).AND. (beta.EQ.one)))
RETURN 242 IF (alpha.EQ.zero)
THEN 244 IF (beta.EQ.zero)
THEN 258 IF (beta.EQ.zero)
THEN 277 IF (lsame(trans,
'N'))
THEN 283 IF (beta.EQ.zero)
THEN 287 ELSE IF (beta.NE.one)
THEN 293 IF (a(j,l).NE.zero)
THEN 296 c(i,j) = c(i,j) + temp*a(i,l)
303 IF (beta.EQ.zero)
THEN 307 ELSE IF (beta.NE.one)
THEN 313 IF (a(j,l).NE.zero)
THEN 316 c(i,j) = c(i,j) + temp*a(i,l)
331 temp = temp + a(l,i)*a(l,j)
333 IF (beta.EQ.zero)
THEN 336 c(i,j) = alpha*temp + beta*c(i,j)
345 temp = temp + a(l,i)*a(l,j)
347 IF (beta.EQ.zero)
THEN 350 c(i,j) = alpha*temp + beta*c(i,j)
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ssyrk(UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC)
SSYRK