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
137 INTRINSIC abs, dble, dimag
142 DO 10 ix = 1, 1 + ( n-1 )*incx, incx
143 temp1 = abs( dble( x( ix ) ) )
144 IF( temp1.GT.zero.OR.disnan( temp1 ) )
THEN
145 IF( scale.LT.temp1 )
THEN
146 sumsq = 1 + sumsq*( scale / temp1 )**2
149 sumsq = sumsq + ( temp1 / scale )**2
152 temp1 = abs( dimag( x( ix ) ) )
153 IF( temp1.GT.zero.OR.disnan( temp1 ) )
THEN
154 IF( scale.LT.temp1 )
THEN
155 sumsq = 1 + sumsq*( scale / temp1 )**2
158 sumsq = sumsq + ( temp1 / scale )**2
subroutine zlassq(N, X, INCX, SCALE, SUMSQ)
ZLASSQ updates a sum of squares represented in scaled form.