(S|D|C|Z)LASSQ

Single, double, single complex, and double complex LASSQ.

Description

Updates a scaled sum of squares value.

The scaled sum of squares storage format consists of two values SCALE and SUMSQ which together represent the value:

\fvar{SCALE}^2 \mult \fvar{SUMSQ}

LASSQ updates an existing scaled sum of squares value to include the sum of squares of vector X.

LAPACK Interface

void slassq(const qml_long *N, const float *X, const qml_long *INCX,
    float *SCALE, float *SUMSQ);

void dlassq(const qml_long *N, const double *X, const qml_long *INCX,
    double *SCALE, double *SUMSQ);

void classq(const qml_long *N, const qml_single_complex *X, const qml_long *INCX,
    float *SCALE, float *SUMSQ);

void zlassq(const qml_long *N, const qml_double_complex *X, const qml_long *INCX,
    double *SCALE, double *SUMSQ);

Arguments

N Size of the array
X Input array
INCX Stride between elements of X
SCALE Initial scale value, overwritten with updated value
SUMSQ Initial sum of squares value, overwritten with updated value