1 SUBROUTINE cmmddat( M, N, ALPHA, A, LDA, BETA, B, LDB )
13 COMPLEX A( LDA, * ), B( LDB, * )
70 parameter( one = ( 1.0e+0, 0.0e+0 ),
71 $ zero = ( 0.0e+0, 0.0e+0 ) )
77 EXTERNAL caxpy, ccopy, cscal
82 IF( beta.EQ.one )
THEN
83 IF( alpha.EQ.zero )
THEN
85 CALL ccopy( m, b( j, 1 ), ldb, a( 1, j ), 1 )
90 ELSE IF( alpha.NE.one )
THEN
93 a( i, j ) = b( j, i ) + alpha * a( i, j )
98 CALL caxpy( m, one, b( j, 1 ), ldb, a( 1, j ), 1 )
104 ELSE IF( beta.NE.zero )
THEN
105 IF( alpha.EQ.zero )
THEN
108 a( i, j ) = beta * b( j, i )
111 ELSE IF( alpha.NE.one )
THEN
114 a( i, j ) = beta * b( j, i ) + alpha * a( i, j )
119 CALL caxpy( m, beta, b( j, 1 ), ldb, a( 1, j ), 1 )
126 IF( alpha.EQ.zero )
THEN
132 ELSE IF( alpha.NE.one )
THEN
134 CALL cscal( m, alpha, a( 1, j ), 1 )
142 IF( beta.EQ.one )
THEN
143 IF( alpha.EQ.zero )
THEN
145 CALL ccopy( n, b( 1, j ), 1, a( j, 1 ), lda )
150 ELSE IF( alpha.NE.one )
THEN
153 a( j, i ) = b( i, j ) + alpha * a( j, i )
158 CALL caxpy( n, one, b( 1, j ), 1, a( j, 1 ), lda )
164 ELSE IF( beta.NE.zero )
THEN
165 IF( alpha.EQ.zero )
THEN
168 a( j, i ) = beta * b( i, j )
171 ELSE IF( alpha.NE.one )
THEN
174 a( j, i ) = beta * b( i, j ) + alpha * a( j, i )
179 CALL caxpy( n, beta, b( 1, j ), 1, a( j, 1 ), lda )
186 IF( alpha.EQ.zero )
THEN
192 ELSE IF( alpha.NE.one )
THEN
194 CALL cscal( m, alpha, a( 1, j ), 1 )