version 1.12, 2012/12/14 14:22:43
|
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 |