CLASSQ - return the values scl and ssq such that  ( scl**2
       )*ssq = x( 1 )**2 +...+ x( n )**2 + ( scale**2 )*sumsq,


SYNOPSIS

       SUBROUTINE CLASSQ( N, X, INCX, SCALE, SUMSQ )

           INTEGER        INCX, N

           REAL           SCALE, SUMSQ

           COMPLEX        X( * )


PURPOSE

       CLASSQ returns the values scl and ssq such that  (  scl**2
       )*ssq  =  x(  1 )**2 +...+ x( n )**2 + ( scale**2 )*sumsq,
       where x( i ) = abs( X( 1 + ( i - 1 )*INCX ) ).  The  value
       of  sumsq is assumed to be at least unity and the value of
       ssq will then satisfy

          1.0 .le. ssq .le. ( sumsq + 2*n ).

       scale is assumed to be non-negative and  scl  returns  the
       value

          scl = max( scale, abs( real( x( i ) ) ), abs( aimag( x(
       i ) ) ) ),
                 i

       scale and sumsq  must  be  supplied  in  SCALE  and  SUMSQ
       respectively.   SCALE and SUMSQ are overwritten by scl and
       ssq respectively.

       The routine makes only one pass through the vector X.


ARGUMENTS

       N       (input) INTEGER
               The number of elements to be used from the  vector
               X.

       X       (input) COMPLEX array, dimension (N)
               The vector x as described above.  x( i )  = X( 1 +
               ( i - 1 )*INCX ), 1 <= i <= n.

       INCX    (input) INTEGER
               The increment between  successive  values  of  the
               vector X.  INCX > 0.

       SCALE   (input/output) REAL
               On entry, the value  scale  in the equation above.
               On exit, SCALE is overwritten with the value   scl
               .

               On entry, the value  sumsq  in the equation above.
               On exit, SUMSQ is overwritten with the value   ssq
               .


Man(1) output converted with man2html