111 SUBROUTINE zlarcm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
118 INTEGER LDA, LDB, LDC, M, N
121 DOUBLE PRECISION A( LDA, * ), RWORK( * )
122 COMPLEX*16 B( LDB, * ), C( LDC, * )
128 DOUBLE PRECISION ONE, ZERO
129 parameter( one = 1.0d0, zero = 0.0d0 )
135 INTRINSIC dble, dcmplx, dimag
144 IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
149 rwork( ( j-1 )*m+i ) = dble( b( i, j ) )
154 CALL dgemm(
'N',
'N', m, n, m, one, a, lda, rwork, m, zero,
158 c( i, j ) = rwork( l+( j-1 )*m+i-1 )
164 rwork( ( j-1 )*m+i ) = dimag( b( i, j ) )
167 CALL dgemm(
'N',
'N', m, n, m, one, a, lda, rwork, m, zero,
171 c( i, j ) = dcmplx( dble( c( i, j ) ),
172 $ rwork( l+( j-1 )*m+i-1 ) )
subroutine dgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
DGEMM
subroutine zlarcm(m, n, a, lda, b, ldb, c, ldc, rwork)
ZLARCM copies all or part of a real two-dimensional array to a complex array.