115 SUBROUTINE zlarcm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
123 INTEGER LDA, LDB, LDC, M, N
126 DOUBLE PRECISION A( lda, * ), RWORK( * )
127 COMPLEX*16 B( ldb, * ), C( ldc, * )
133 DOUBLE PRECISION ONE, ZERO
134 parameter ( one = 1.0d0, zero = 0.0d0 )
140 INTRINSIC dble, dcmplx, dimag
149 IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
154 rwork( ( j-1 )*m+i ) = dble( b( i, j ) )
159 CALL dgemm(
'N',
'N', m, n, m, one, a, lda, rwork, m, zero,
163 c( i, j ) = rwork( l+( j-1 )*m+i-1 )
169 rwork( ( j-1 )*m+i ) = dimag( b( i, j ) )
172 CALL dgemm(
'N',
'N', m, n, m, one, a, lda, rwork, m, zero,
176 c( i, j ) = dcmplx( dble( c( i, j ) ),
177 $ 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.