1 SUBROUTINE clanv2( A, B, C, D, RT1, RT2, CS, SN )
10 COMPLEX A, B, C, D, RT1, RT2, SN
49 REAL RZERO, HALF, RONE
50 parameter( rzero = 0.0e+0, half = 0.5e+0,
53 parameter( zero = ( 0.0e+0, 0.0e+0 ),
54 $ one = ( 1.0e+0, 0.0e+0 ) )
57 COMPLEX AA, BB, DD, T, TEMP, TEMP2, U, X, Y
61 EXTERNAL clartg, sladiv
64 INTRINSIC real,
cmplx, conjg, aimag, sqrt
76 ELSE IF( b.EQ.zero )
THEN
88 ELSE IF( ( a-d ).EQ.zero )
THEN
92 IF( ( b+c ).EQ.zero )
THEN
94 sn =
cmplx( rzero, rone )*cs
97 CALL sladiv( real( sqrt( b ) ), aimag( sqrt( b ) ),
98 $ real( temp ), aimag( temp ), cr, ci )
99 temp2 =
cmplx( cr, ci )
101 CALL sladiv( real( sqrt( c ) ), aimag( sqrt( c ) ),
102 $ real( temp ), aimag( temp ), cr, ci )
116 IF( real( x )*real( y )+aimag( x )*aimag( y ).LT.rzero )
118 CALL sladiv( real( u ), aimag( u ),
119 $ real( x+y ), aimag( x+y ), cr, ci )
120 t = t -
cmplx( cr, ci )
125 CALL clartg( a-t, c, cs, sn, aa )
129 dd = -conjg( sn )*b + cs*d
131 a = aa*cs + bb*conjg( sn ) + t
subroutine clanv2(a, b, c, d, rt1, rt2, cs, sn)