Diff for /rpl/lapack/lapack/ilaenv.f between versions 1.13 and 1.19

version 1.13, 2014/01/27 09:28:30 version 1.19, 2020/05/21 21:46:03
Line 2 Line 2
 *  *
 *  =========== DOCUMENTATION ===========  *  =========== DOCUMENTATION ===========
 *  *
 * Online html documentation available at   * Online html documentation available at
 *            http://www.netlib.org/lapack/explore-html/   *            http://www.netlib.org/lapack/explore-html/
 *  *
 *> \htmlonly  *> \htmlonly
 *> Download ILAENV + dependencies   *> Download ILAENV + dependencies
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/ilaenv.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/ilaenv.f">
 *> [TGZ]</a>   *> [TGZ]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/ilaenv.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/ilaenv.f">
 *> [ZIP]</a>   *> [ZIP]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ilaenv.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ilaenv.f">
 *> [TXT]</a>  *> [TXT]</a>
 *> \endhtmlonly   *> \endhtmlonly
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
 *  *
 *       INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )  *       INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       CHARACTER*( * )    NAME, OPTS  *       CHARACTER*( * )    NAME, OPTS
 *       INTEGER            ISPEC, N1, N2, N3, N4  *       INTEGER            ISPEC, N1, N2, N3, N4
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 82 Line 82
 *>          =10: ieee NaN arithmetic can be trusted not to trap  *>          =10: ieee NaN arithmetic can be trusted not to trap
 *>          =11: infinity arithmetic can be trusted not to trap  *>          =11: infinity arithmetic can be trusted not to trap
 *>          12 <= ISPEC <= 16:  *>          12 <= ISPEC <= 16:
 *>               xHSEQR or one of its subroutines,  *>               xHSEQR or related subroutines,
 *>               see IPARMQ for detailed explanation  *>               see IPARMQ for detailed explanation
 *> \endverbatim  *> \endverbatim
 *>  *>
Line 127 Line 127
 *  Authors:  *  Authors:
 *  ========  *  ========
 *  *
 *> \author Univ. of Tennessee   *> \author Univ. of Tennessee
 *> \author Univ. of California Berkeley   *> \author Univ. of California Berkeley
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.   *> \author NAG Ltd.
 *  *
 *> \date November 2011  *> \date November 2019
 *  *
 *> \ingroup auxOTHERauxiliary  *> \ingroup OTHERauxiliary
 *  *
 *> \par Further Details:  *> \par Further Details:
 *  =====================  *  =====================
Line 162 Line 162
 *  =====================================================================  *  =====================================================================
       INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )        INTEGER FUNCTION ILAENV( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
 *  *
 *  -- LAPACK auxiliary routine (version 3.4.0) --  *  -- LAPACK auxiliary routine (version 3.9.0) --
 *  -- 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 2011  *     November 2019
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       CHARACTER*( * )    NAME, OPTS        CHARACTER*( * )    NAME, OPTS
Line 176 Line 176
 *  *
 *     .. Local Scalars ..  *     .. Local Scalars ..
       INTEGER            I, IC, IZ, NB, NBMIN, NX        INTEGER            I, IC, IZ, NB, NBMIN, NX
       LOGICAL            CNAME, SNAME        LOGICAL            CNAME, SNAME, TWOSTAGE
       CHARACTER          C1*1, C2*2, C4*2, C3*3, SUBNAM*6        CHARACTER          C1*1, C2*2, C4*2, C3*3, SUBNAM*16
 *     ..  *     ..
 *     .. Intrinsic Functions ..  *     .. Intrinsic Functions ..
       INTRINSIC          CHAR, ICHAR, INT, MIN, REAL        INTRINSIC          CHAR, ICHAR, INT, MIN, REAL
 *     ..  *     ..
 *     .. External Functions ..  *     .. External Functions ..
       INTEGER            IEEECK, IPARMQ        INTEGER            IEEECK, IPARMQ, IPARAM2STAGE
       EXTERNAL           IEEECK, IPARMQ        EXTERNAL           IEEECK, IPARMQ, IPARAM2STAGE
 *     ..  *     ..
 *     .. Executable Statements ..  *     .. Executable Statements ..
 *  *
       GO TO ( 10, 10, 10, 80, 90, 100, 110, 120,        GO TO ( 10, 10, 10, 80, 90, 100, 110, 120,
      $        130, 140, 150, 160, 160, 160, 160, 160 )ISPEC       $        130, 140, 150, 160, 160, 160, 160, 160)ISPEC
 *  *
 *     Invalid value for ISPEC  *     Invalid value for ISPEC
 *  *
Line 256 Line 256
       C2 = SUBNAM( 2: 3 )        C2 = SUBNAM( 2: 3 )
       C3 = SUBNAM( 4: 6 )        C3 = SUBNAM( 4: 6 )
       C4 = C3( 2: 3 )        C4 = C3( 2: 3 )
         TWOSTAGE = LEN( SUBNAM ).GE.11
        $           .AND. SUBNAM( 11: 11 ).EQ.'2'
 *  *
       GO TO ( 50, 60, 70 )ISPEC        GO TO ( 50, 60, 70 )ISPEC
 *  *
Line 269 Line 271
 *  *
       NB = 1        NB = 1
 *  *
       IF( C2.EQ.'GE' ) THEN        IF( SUBNAM(2:6).EQ.'LAORH' ) THEN
   *
   *        This is for *LAORHR_GETRFNP routine
   *
            IF( SNAME ) THEN
                NB = 32
            ELSE
                NB = 32
            END IF
         ELSE IF( C2.EQ.'GE' ) THEN
          IF( C3.EQ.'TRF' ) THEN           IF( C3.EQ.'TRF' ) THEN
             IF( SNAME ) THEN              IF( SNAME ) THEN
                NB = 64                 NB = 64
Line 283 Line 294
             ELSE              ELSE
                NB = 32                 NB = 32
             END IF              END IF
            ELSE IF( C3.EQ.'QR ') THEN
               IF( N3 .EQ. 1) THEN
                  IF( SNAME ) THEN
   *     M*N
                     IF ((N1*N2.LE.131072).OR.(N1.LE.8192)) THEN
                        NB = N1
                     ELSE
                        NB = 32768/N2
                     END IF
                  ELSE
                     IF ((N1*N2.LE.131072).OR.(N1.LE.8192)) THEN
                        NB = N1
                     ELSE
                        NB = 32768/N2
                     END IF
                  END IF
               ELSE
                  IF( SNAME ) THEN
                     NB = 1
                  ELSE
                     NB = 1
                  END IF
               END IF
            ELSE IF( C3.EQ.'LQ ') THEN
               IF( N3 .EQ. 2) THEN
                  IF( SNAME ) THEN
   *     M*N
                     IF ((N1*N2.LE.131072).OR.(N1.LE.8192)) THEN
                        NB = N1
                     ELSE
                        NB = 32768/N2
                     END IF
                  ELSE
                     IF ((N1*N2.LE.131072).OR.(N1.LE.8192)) THEN
                        NB = N1
                     ELSE
                        NB = 32768/N2
                     END IF
                  END IF
               ELSE
                  IF( SNAME ) THEN
                     NB = 1
                  ELSE
                     NB = 1
                  END IF
               END IF
          ELSE IF( C3.EQ.'HRD' ) THEN           ELSE IF( C3.EQ.'HRD' ) THEN
             IF( SNAME ) THEN              IF( SNAME ) THEN
                NB = 32                 NB = 32
Line 313 Line 370
       ELSE IF( C2.EQ.'SY' ) THEN        ELSE IF( C2.EQ.'SY' ) THEN
          IF( C3.EQ.'TRF' ) THEN           IF( C3.EQ.'TRF' ) THEN
             IF( SNAME ) THEN              IF( SNAME ) THEN
                NB = 64                 IF( TWOSTAGE ) THEN
                     NB = 192
                  ELSE
                     NB = 64
                  END IF
             ELSE              ELSE
                NB = 64                 IF( TWOSTAGE ) THEN
                     NB = 192
                  ELSE
                     NB = 64
                  END IF
             END IF              END IF
          ELSE IF( SNAME .AND. C3.EQ.'TRD' ) THEN           ELSE IF( SNAME .AND. C3.EQ.'TRD' ) THEN
             NB = 32              NB = 32
Line 324 Line 389
          END IF           END IF
       ELSE IF( CNAME .AND. C2.EQ.'HE' ) THEN        ELSE IF( CNAME .AND. C2.EQ.'HE' ) THEN
          IF( C3.EQ.'TRF' ) THEN           IF( C3.EQ.'TRF' ) THEN
             NB = 64              IF( TWOSTAGE ) THEN
                  NB = 192
               ELSE
                  NB = 64
               END IF
          ELSE IF( C3.EQ.'TRD' ) THEN           ELSE IF( C3.EQ.'TRD' ) THEN
             NB = 32              NB = 32
          ELSE IF( C3.EQ.'GST' ) THEN           ELSE IF( C3.EQ.'GST' ) THEN
Line 397 Line 466
             ELSE              ELSE
                NB = 64                 NB = 64
             END IF              END IF
            ELSE IF ( C3.EQ.'EVC' ) THEN
               IF( SNAME ) THEN
                  NB = 64
               ELSE
                  NB = 64
               END IF
          END IF           END IF
       ELSE IF( C2.EQ.'LA' ) THEN        ELSE IF( C2.EQ.'LA' ) THEN
          IF( C3.EQ.'UUM' ) THEN           IF( C3.EQ.'UUM' ) THEN
Line 410 Line 485
          IF( C3.EQ.'EBZ' ) THEN           IF( C3.EQ.'EBZ' ) THEN
             NB = 1              NB = 1
          END IF           END IF
         ELSE IF( C2.EQ.'GG' ) THEN
            NB = 32
            IF( C3.EQ.'HD3' ) THEN
               IF( SNAME ) THEN
                  NB = 32
               ELSE
                  NB = 32
               END IF
            END IF
       END IF        END IF
       ILAENV = NB        ILAENV = NB
       RETURN        RETURN
Line 488 Line 572
                NBMIN = 2                 NBMIN = 2
             END IF              END IF
          END IF           END IF
         ELSE IF( C2.EQ.'GG' ) THEN
            NBMIN = 2
            IF( C3.EQ.'HD3' ) THEN
               NBMIN = 2
            END IF
       END IF        END IF
       ILAENV = NBMIN        ILAENV = NBMIN
       RETURN        RETURN
Line 542 Line 631
                NX = 128                 NX = 128
             END IF              END IF
          END IF           END IF
         ELSE IF( C2.EQ.'GG' ) THEN
            NX = 128
            IF( C3.EQ.'HD3' ) THEN
               NX = 128
            END IF
       END IF        END IF
       ILAENV = NX        ILAENV = NX
       RETURN        RETURN
Line 614 Line 708
 *  *
   160 CONTINUE    160 CONTINUE
 *  *
 *     12 <= ISPEC <= 16: xHSEQR or one of its subroutines.   *     12 <= ISPEC <= 16: xHSEQR or related subroutines.
 *  *
       ILAENV = IPARMQ( ISPEC, NAME, OPTS, N1, N2, N3, N4 )        ILAENV = IPARMQ( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
       RETURN        RETURN

Removed from v.1.13  
changed lines
  Added in v.1.19


CVSweb interface <joel.bertrand@systella.fr>