115 SUBROUTINE clarcm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
123 INTEGER LDA, LDB, LDC, M, N
126 REAL A( lda, * ), RWORK( * )
127 COMPLEX B( ldb, * ), C( ldc, * )
134 parameter ( one = 1.0e0, zero = 0.0e0 )
140 INTRINSIC aimag, cmplx, real
149 IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
154 rwork( ( j-1 )*m+i ) =
REAL( B( I, J ) )
159 CALL sgemm(
'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 ) = aimag( b( i, j ) )
172 CALL sgemm(
'N',
'N', m, n, m, one, a, lda, rwork, m, zero,
176 c( i, j ) = cmplx(
REAL( C( I, J ) ),
177 $ 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.