107 SUBROUTINE zlassq( N, X, INCX, SCALE, SUMSQ )
116 DOUBLE PRECISION scale, sumsq
125 DOUBLE PRECISION zero
126 parameter( zero = 0.0d+0 )
130 DOUBLE PRECISION temp1
133 INTRINSIC abs, dble, dimag
138 DO 10 ix = 1, 1 + ( n-1 )*incx, incx
139 IF( dble( x( ix ) ).NE.zero )
THEN
140 temp1 = abs( dble( x( ix ) ) )
141 IF( scale.LT.temp1 )
THEN
142 sumsq = 1 + sumsq*( scale / temp1 )**2
145 sumsq = sumsq + ( temp1 / scale )**2
148 IF( dimag( x( ix ) ).NE.zero )
THEN
149 temp1 = abs( dimag( x( ix ) ) )
150 IF( scale.LT.temp1 )
THEN
151 sumsq = 1 + sumsq*( scale / temp1 )**2
154 sumsq = sumsq + ( temp1 / scale )**2