1*> \brief \b SLASCL2 performs diagonal scaling on a vector. 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8*> \htmlonly 9*> Download SLASCL2 + dependencies 10*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/slascl2.f"> 11*> [TGZ]</a> 12*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/slascl2.f"> 13*> [ZIP]</a> 14*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slascl2.f"> 15*> [TXT]</a> 16*> \endhtmlonly 17* 18* Definition: 19* =========== 20* 21* SUBROUTINE SLASCL2 ( M, N, D, X, LDX ) 22* 23* .. Scalar Arguments .. 24* INTEGER M, N, LDX 25* .. 26* .. Array Arguments .. 27* REAL D( * ), X( LDX, * ) 28* .. 29* 30* 31*> \par Purpose: 32* ============= 33*> 34*> \verbatim 35*> 36*> SLASCL2 performs a diagonal scaling on a vector: 37*> x <-- D * x 38*> where the diagonal matrix D is stored as a vector. 39*> 40*> Eventually to be replaced by BLAS_sge_diag_scale in the new BLAS 41*> standard. 42*> \endverbatim 43* 44* Arguments: 45* ========== 46* 47*> \param[in] M 48*> \verbatim 49*> M is INTEGER 50*> The number of rows of D and X. M >= 0. 51*> \endverbatim 52*> 53*> \param[in] N 54*> \verbatim 55*> N is INTEGER 56*> The number of columns of X. N >= 0. 57*> \endverbatim 58*> 59*> \param[in] D 60*> \verbatim 61*> D is REAL array, length M 62*> Diagonal matrix D, stored as a vector of length M. 63*> \endverbatim 64*> 65*> \param[in,out] X 66*> \verbatim 67*> X is REAL array, dimension (LDX,N) 68*> On entry, the vector X to be scaled by D. 69*> On exit, the scaled vector. 70*> \endverbatim 71*> 72*> \param[in] LDX 73*> \verbatim 74*> LDX is INTEGER 75*> The leading dimension of the vector X. LDX >= M. 76*> \endverbatim 77* 78* Authors: 79* ======== 80* 81*> \author Univ. of Tennessee 82*> \author Univ. of California Berkeley 83*> \author Univ. of Colorado Denver 84*> \author NAG Ltd. 85* 86*> \ingroup realOTHERcomputational 87* 88* ===================================================================== 89 SUBROUTINE SLASCL2 ( M, N, D, X, LDX ) 90* 91* -- LAPACK computational routine -- 92* -- LAPACK is a software package provided by Univ. of Tennessee, -- 93* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 94* 95* .. Scalar Arguments .. 96 INTEGER M, N, LDX 97* .. 98* .. Array Arguments .. 99 REAL D( * ), X( LDX, * ) 100* .. 101* 102* ===================================================================== 103* 104* .. Local Scalars .. 105 INTEGER I, J 106* .. 107* .. Executable Statements .. 108* 109 DO J = 1, N 110 DO I = 1, M 111 X( I, J ) = X( I, J ) * D( I ) 112 END DO 113 END DO 114 115 RETURN 116 END 117