Diff for /rpl/lapack/blas/idamax.f between versions 1.6 and 1.12

version 1.6, 2010/12/21 13:51:26 version 1.12, 2015/11/26 11:44:14
Line 1 Line 1
   *> \brief \b IDAMAX
   *
   *  =========== DOCUMENTATION ===========
   *
   * Online html documentation available at 
   *            http://www.netlib.org/lapack/explore-html/ 
   *
   *  Definition:
   *  ===========
   *
   *       INTEGER FUNCTION IDAMAX(N,DX,INCX)
   * 
   *       .. Scalar Arguments ..
   *       INTEGER INCX,N
   *       ..
   *       .. Array Arguments ..
   *       DOUBLE PRECISION DX(*)
   *       ..
   *  
   *
   *> \par Purpose:
   *  =============
   *>
   *> \verbatim
   *>
   *>    IDAMAX finds the index of the first element having maximum absolute value.
   *> \endverbatim
   *
   *  Authors:
   *  ========
   *
   *> \author Univ. of Tennessee 
   *> \author Univ. of California Berkeley 
   *> \author Univ. of Colorado Denver 
   *> \author NAG Ltd. 
   *
   *> \date November 2015
   *
   *> \ingroup aux_blas
   *
   *> \par Further Details:
   *  =====================
   *>
   *> \verbatim
   *>
   *>     jack dongarra, linpack, 3/11/78.
   *>     modified 3/93 to return if incx .le. 0.
   *>     modified 12/3/93, array(1) declarations changed to array(*)
   *> \endverbatim
   *>
   *  =====================================================================
       INTEGER FUNCTION IDAMAX(N,DX,INCX)        INTEGER FUNCTION IDAMAX(N,DX,INCX)
   *
   *  -- Reference BLAS level1 routine (version 3.6.0) --
   *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --
   *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
   *     November 2015
   *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       INTEGER INCX,N        INTEGER INCX,N
 *     ..  *     ..
Line 6 Line 63
       DOUBLE PRECISION DX(*)        DOUBLE PRECISION DX(*)
 *     ..  *     ..
 *  *
 *  Purpose  
 *  =======  
 *  
 *     IDAMAX finds the index of element having max. absolute value.  
 *  
 *  Further Details  
 *  ===============  
 *  
 *     jack dongarra, linpack, 3/11/78.  
 *     modified 3/93 to return if incx .le. 0.  
 *     modified 12/3/93, array(1) declarations changed to array(*)  
 *  
 *  =====================================================================  *  =====================================================================
 *  *
 *     .. Local Scalars ..  *     .. Local Scalars ..
Line 31 Line 76
       IF (N.LT.1 .OR. INCX.LE.0) RETURN        IF (N.LT.1 .OR. INCX.LE.0) RETURN
       IDAMAX = 1        IDAMAX = 1
       IF (N.EQ.1) RETURN        IF (N.EQ.1) RETURN
       IF (INCX.EQ.1) GO TO 20        IF (INCX.EQ.1) THEN
 *  *
 *        code for increment not equal to 1  *        code for increment equal to 1
 *  *
       IX = 1           DMAX = DABS(DX(1))
       DMAX = DABS(DX(1))           DO I = 2,N
       IX = IX + INCX              IF (DABS(DX(I)).GT.DMAX) THEN
       DO 10 I = 2,N                 IDAMAX = I
           IF (DABS(DX(IX)).LE.DMAX) GO TO 5                 DMAX = DABS(DX(I))
           IDAMAX = I              END IF
           DMAX = DABS(DX(IX))           END DO
     5     IX = IX + INCX        ELSE
    10 CONTINUE  
       RETURN  
 *  *
 *        code for increment equal to 1  *        code for increment not equal to 1
 *  *
    20 DMAX = DABS(DX(1))           IX = 1
       DO 30 I = 2,N           DMAX = DABS(DX(1))
           IF (DABS(DX(I)).LE.DMAX) GO TO 30           IX = IX + INCX
           IDAMAX = I           DO I = 2,N
           DMAX = DABS(DX(I))              IF (DABS(DX(IX)).GT.DMAX) THEN
    30 CONTINUE                 IDAMAX = I
                  DMAX = DABS(DX(IX))
               END IF
               IX = IX + INCX
            END DO
         END IF
       RETURN        RETURN
       END        END

Removed from v.1.6  
changed lines
  Added in v.1.12


CVSweb interface <joel.bertrand@systella.fr>