2 ! { dg
-options
"-O3 -ffast-math" }
4 SUBROUTINE ZUNG2L
( M
, N
, K
, A
, LDA
, TAU
, WORK
, INFO
)
5 COMPLEX*16 A
( LDA
, * ), TAU
( * ), WORK
( * )
8 CALL ZLARF
( 'LEFT', M
-N
+II
, II
-1, A
( 1, II
), 1, TAU
( I
), A
,
10 CALL ZSCAL
( M
-N
+II
-1, -TAU
( I
), A
( 1, II
), 1 )
11 A
( M
-N
+II
, II
) = ONE
- TAU
( I
)
13 SUBROUTINE ZLARF
( SIDE
, M
, N
, V
, INCV
, TAU
, C
, LDC
, WORK
)
16 COMPLEX*16 C
( LDC
, * ), V
(*), WORK
(*), TAU
17 IF( LSAME
( SIDE
, 'L' ) ) THEN
18 IF( TAU
.NE
.ZERO
) THEN
19 CALL ZGEMV
( 'CONJUGATE TRANSPOSE', M
, N
, ONE
, C
, LDC
, V
,
20 $ INCV
, ZERO
, WORK
, 1 )
24 LOGICAL FUNCTION LSAME
( CA
, CB
)
25 CHARACTER CA
(*), CB
(*)
27 SUBROUTINE ZGEMV
( TRANS
, M
, N
, ALPHA
, A
, LDA
, X
, INCX
,
29 COMPLEX*16 A
( LDA
, * ), X
( * ), Y
( * )
32 IF( LSAME
( TRANS
, 'N' ) )THEN
34 IF( X
( JX
).NE
.ZERO
)THEN
35 Y
( I
) = Y
( I
) + TEMP*A
( I
, J
)
40 SUBROUTINE ZSCAL
(N
,ZA
,ZX
,INCX
)
42 IF( N
.LE
.0 .OR
. INCX
.LE
.0 )RETURN