Diff for /rpl/lapack/lapack/dlaswp.f between versions 1.2 and 1.18

version 1.2, 2010/04/21 13:45:20 version 1.18, 2018/05/29 07:18:01
Line 1 Line 1
   *> \brief \b DLASWP performs a series of row interchanges on a general rectangular matrix.
   *
   *  =========== DOCUMENTATION ===========
   *
   * Online html documentation available at
   *            http://www.netlib.org/lapack/explore-html/
   *
   *> \htmlonly
   *> Download DLASWP + dependencies
   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlaswp.f">
   *> [TGZ]</a>
   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlaswp.f">
   *> [ZIP]</a>
   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlaswp.f">
   *> [TXT]</a>
   *> \endhtmlonly
   *
   *  Definition:
   *  ===========
   *
   *       SUBROUTINE DLASWP( N, A, LDA, K1, K2, IPIV, INCX )
   *
   *       .. Scalar Arguments ..
   *       INTEGER            INCX, K1, K2, LDA, N
   *       ..
   *       .. Array Arguments ..
   *       INTEGER            IPIV( * )
   *       DOUBLE PRECISION   A( LDA, * )
   *       ..
   *
   *
   *> \par Purpose:
   *  =============
   *>
   *> \verbatim
   *>
   *> DLASWP performs a series of row interchanges on the matrix A.
   *> One row interchange is initiated for each of rows K1 through K2 of A.
   *> \endverbatim
   *
   *  Arguments:
   *  ==========
   *
   *> \param[in] N
   *> \verbatim
   *>          N is INTEGER
   *>          The number of columns of the matrix A.
   *> \endverbatim
   *>
   *> \param[in,out] A
   *> \verbatim
   *>          A is DOUBLE PRECISION array, dimension (LDA,N)
   *>          On entry, the matrix of column dimension N to which the row
   *>          interchanges will be applied.
   *>          On exit, the permuted matrix.
   *> \endverbatim
   *>
   *> \param[in] LDA
   *> \verbatim
   *>          LDA is INTEGER
   *>          The leading dimension of the array A.
   *> \endverbatim
   *>
   *> \param[in] K1
   *> \verbatim
   *>          K1 is INTEGER
   *>          The first element of IPIV for which a row interchange will
   *>          be done.
   *> \endverbatim
   *>
   *> \param[in] K2
   *> \verbatim
   *>          K2 is INTEGER
   *>          (K2-K1+1) is the number of elements of IPIV for which a row
   *>          interchange will be done.
   *> \endverbatim
   *>
   *> \param[in] IPIV
   *> \verbatim
   *>          IPIV is INTEGER array, dimension (K1+(K2-K1)*abs(INCX))
   *>          The vector of pivot indices. Only the elements in positions
   *>          K1 through K1+(K2-K1)*abs(INCX) of IPIV are accessed.
   *>          IPIV(K1+(K-K1)*abs(INCX)) = L implies rows K and L are to be
   *>          interchanged.
   *> \endverbatim
   *>
   *> \param[in] INCX
   *> \verbatim
   *>          INCX is INTEGER
   *>          The increment between successive values of IPIV. If INCX
   *>          is negative, the pivots are applied in reverse order.
   *> \endverbatim
   *
   *  Authors:
   *  ========
   *
   *> \author Univ. of Tennessee
   *> \author Univ. of California Berkeley
   *> \author Univ. of Colorado Denver
   *> \author NAG Ltd.
   *
   *> \date June 2017
   *
   *> \ingroup doubleOTHERauxiliary
   *
   *> \par Further Details:
   *  =====================
   *>
   *> \verbatim
   *>
   *>  Modified by
   *>   R. C. Whaley, Computer Science Dept., Univ. of Tenn., Knoxville, USA
   *> \endverbatim
   *>
   *  =====================================================================
       SUBROUTINE DLASWP( N, A, LDA, K1, K2, IPIV, INCX )        SUBROUTINE DLASWP( N, A, LDA, K1, K2, IPIV, INCX )
 *  *
 *  -- LAPACK auxiliary routine (version 3.2) --  *  -- LAPACK auxiliary routine (version 3.7.1) --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     November 2006  *     June 2017
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       INTEGER            INCX, K1, K2, LDA, N        INTEGER            INCX, K1, K2, LDA, N
Line 13 Line 128
       DOUBLE PRECISION   A( LDA, * )        DOUBLE PRECISION   A( LDA, * )
 *     ..  *     ..
 *  *
 *  Purpose  
 *  =======  
 *  
 *  DLASWP performs a series of row interchanges on the matrix A.  
 *  One row interchange is initiated for each of rows K1 through K2 of A.  
 *  
 *  Arguments  
 *  =========  
 *  
 *  N       (input) INTEGER  
 *          The number of columns of the matrix A.  
 *  
 *  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)  
 *          On entry, the matrix of column dimension N to which the row  
 *          interchanges will be applied.  
 *          On exit, the permuted matrix.  
 *  
 *  LDA     (input) INTEGER  
 *          The leading dimension of the array A.  
 *  
 *  K1      (input) INTEGER  
 *          The first element of IPIV for which a row interchange will  
 *          be done.  
 *  
 *  K2      (input) INTEGER  
 *          The last element of IPIV for which a row interchange will  
 *          be done.  
 *  
 *  IPIV    (input) INTEGER array, dimension (K2*abs(INCX))  
 *          The vector of pivot indices.  Only the elements in positions  
 *          K1 through K2 of IPIV are accessed.  
 *          IPIV(K) = L implies rows K and L are to be interchanged.  
 *  
 *  INCX    (input) INTEGER  
 *          The increment between successive values of IPIV.  If IPIV  
 *          is negative, the pivots are applied in reverse order.  
 *  
 *  Further Details  
 *  ===============  
 *  
 *  Modified by  
 *   R. C. Whaley, Computer Science Dept., Univ. of Tenn., Knoxville, USA  
 *  
 * =====================================================================  * =====================================================================
 *  *
 *     .. Local Scalars ..  *     .. Local Scalars ..
Line 64 Line 136
 *     ..  *     ..
 *     .. Executable Statements ..  *     .. Executable Statements ..
 *  *
 *     Interchange row I with row IPIV(I) for each of rows K1 through K2.  *     Interchange row I with row IPIV(K1+(I-K1)*abs(INCX)) for each of rows
   *     K1 through K2.
 *  *
       IF( INCX.GT.0 ) THEN        IF( INCX.GT.0 ) THEN
          IX0 = K1           IX0 = K1
Line 72 Line 145
          I2 = K2           I2 = K2
          INC = 1           INC = 1
       ELSE IF( INCX.LT.0 ) THEN        ELSE IF( INCX.LT.0 ) THEN
          IX0 = 1 + ( 1-K2 )*INCX           IX0 = K1 + ( K1-K2 )*INCX
          I1 = K2           I1 = K2
          I2 = K1           I2 = K1
          INC = -1           INC = -1

Removed from v.1.2  
changed lines
  Added in v.1.18


CVSweb interface <joel.bertrand@systella.fr>