113 SUBROUTINE zlarcm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
120 INTEGER LDA, LDB, LDC, M, N
123 DOUBLE PRECISION A( LDA, * ), RWORK( * )
124 COMPLEX*16 B( LDB, * ), C( LDC, * )
130 DOUBLE PRECISION ONE, ZERO
131 parameter( one = 1.0d0, zero = 0.0d0 )
137 INTRINSIC dble, dcmplx, dimag
146 IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
151 rwork( ( j-1 )*m+i ) = dble( b( i, j ) )
156 CALL dgemm(
'N',
'N', m, n, m, one, a, lda, rwork, m, zero,
160 c( i, j ) = rwork( l+( j-1 )*m+i-1 )
166 rwork( ( j-1 )*m+i ) = dimag( b( i, j ) )
169 CALL dgemm(
'N',
'N', m, n, m, one, a, lda, rwork, m, zero,
173 c( i, j ) = dcmplx( dble( c( i, j ) ),
174 $ 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.