113 SUBROUTINE clarcm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
120 INTEGER LDA, LDB, LDC, M, N
123 REAL A( LDA, * ), RWORK( * )
124 COMPLEX B( LDB, * ), C( LDC, * )
131 parameter( one = 1.0e0, zero = 0.0e0 )
137 INTRINSIC aimag, cmplx, real
146 IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
151 rwork( ( j-1 )*m+i ) = real( b( i, j ) )
156 CALL sgemm(
'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 ) = aimag( b( i, j ) )
169 CALL sgemm(
'N',
'N', m, n, m, one, a, lda, rwork, m, zero,
173 c( i, j ) = cmplx( real( c( i, j ) ),
174 $ rwork( l+( j-1 )*m+i-1 ) )
subroutine sgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
SGEMM
subroutine clarcm(m, n, a, lda, b, ldb, c, ldc, rwork)
CLARCM copies all or part of a real two-dimensional array to a complex array.