Previous: clasr Up: ../lapack-c.html Next: claswp

NAME 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 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 respec- tively. 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) REAL 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 vec- tor 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 . SUMSQ (input/output) REAL On entry, the value sumsq in the equation above. On exit, SUMSQ is overwritten with the value ssq .