123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327 |
- SUBROUTINE ZLARFT( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
- CHARACTER DIRECT, STOREV
- INTEGER K, LDT, LDV, N
- COMPLEX*16 T( LDT, * ), TAU( * ), V( LDV, * )
- COMPLEX*16 ONE, ZERO
- PARAMETER ( ONE
- $ ZERO
- INTEGER
- EXTERNAL
- LOGICAL
- EXTERNAL
- IF( N.EQ.0 )
- $ RETURN
- IF( LSAME( DIRECT, 'F' ) ) THEN
- PREVLASTV
- DO
- PREVLASTV
- IF( TAU( I
- DO
- T( J, I )
- END
- ELSE
- IF( LSAME( STOREV, 'C' ) ) THEN
- DO
- IF( V( LASTV, I
- END
- DO
- T( J, I )
- END
- J
- CALL
- $ -TAU( I
- $ V( I+1, I
- ELSE
- DO
- IF( V( I, LASTV
- END
- DO
- T( J, I )
- END
- J
- CALL
- $ V( 1, I+1 ), LDV, V( I, I+1 ), LDV,
- $ ONE, T( 1, I
- END
- CALL
- $ LDT, T( 1, I
- T( I, I )
- IF( I.GT.1 ) THEN
- PREVLASTV
- ELSE
- PREVLASTV
- END
- END
- END
- ELSE
- PREVLASTV
- DO
- IF( TAU( I
- DO
- T( J, I )
- END
- ELSE
- IF( I.LT.K
- IF( LSAME( STOREV, 'C' ) ) THEN
- DO
- IF( V( LASTV, I
- END
- DO
- T( J, I )
- END
- J
- CALL
- $ -TAU( I
- $ 1, ONE, T( I+1, I
- ELSE
- DO
- IF( V( I, LASTV
- END
- DO
- T( J, I )
- END
- J
- CALL
- $ V( I+1, J
- $ ONE, T( I+1, I
- END
- CALL
- $ T( I+1, I+1 ), LDT, T( I+1, I
- IF( I.GT.1 ) THEN
- PREVLASTV
- ELSE
- PREVLASTV
- END
- END
- T( I, I )
- END
- END
- END
- RETURN
- END
|