1*> \brief \b XLAENV 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8* Definition: 9* =========== 10* 11* SUBROUTINE XLAENV( ISPEC, NVALUE ) 12* 13* .. Scalar Arguments .. 14* INTEGER ISPEC, NVALUE 15* .. 16* 17* 18*> \par Purpose: 19* ============= 20*> 21*> \verbatim 22*> 23*> XLAENV sets certain machine- and problem-dependent quantities 24*> which will later be retrieved by ILAENV. 25*> \endverbatim 26* 27* Arguments: 28* ========== 29* 30*> \param[in] ISPEC 31*> \verbatim 32*> ISPEC is INTEGER 33*> Specifies the parameter to be set in the COMMON array IPARMS. 34*> = 1: the optimal blocksize; if this value is 1, an unblocked 35*> algorithm will give the best performance. 36*> = 2: the minimum block size for which the block routine 37*> should be used; if the usable block size is less than 38*> this value, an unblocked routine should be used. 39*> = 3: the crossover point (in a block routine, for N less 40*> than this value, an unblocked routine should be used) 41*> = 4: the number of shifts, used in the nonsymmetric 42*> eigenvalue routines 43*> = 5: the minimum column dimension for blocking to be used; 44*> rectangular blocks must have dimension at least k by m, 45*> where k is given by ILAENV(2,...) and m by ILAENV(5,...) 46*> = 6: the crossover point for the SVD (when reducing an m by n 47*> matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds 48*> this value, a QR factorization is used first to reduce 49*> the matrix to a triangular form) 50*> = 7: the number of processors 51*> = 8: another crossover point, for the multishift QR and QZ 52*> methods for nonsymmetric eigenvalue problems. 53*> = 9: maximum size of the subproblems at the bottom of the 54*> computation tree in the divide-and-conquer algorithm 55*> (used by xGELSD and xGESDD) 56*> =10: ieee NaN arithmetic can be trusted not to trap 57*> =11: infinity arithmetic can be trusted not to trap 58*> \endverbatim 59*> 60*> \param[in] NVALUE 61*> \verbatim 62*> NVALUE is INTEGER 63*> The value of the parameter specified by ISPEC. 64*> \endverbatim 65* 66* Authors: 67* ======== 68* 69*> \author Univ. of Tennessee 70*> \author Univ. of California Berkeley 71*> \author Univ. of Colorado Denver 72*> \author NAG Ltd. 73* 74*> \ingroup aux_lin 75* 76* ===================================================================== 77 SUBROUTINE XLAENV( ISPEC, NVALUE ) 78* 79* -- LAPACK test routine -- 80* -- LAPACK is a software package provided by Univ. of Tennessee, -- 81* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 82* 83* .. Scalar Arguments .. 84 INTEGER ISPEC, NVALUE 85* .. 86* 87* ===================================================================== 88* 89* .. Arrays in Common .. 90 INTEGER IPARMS( 100 ) 91* .. 92* .. Common blocks .. 93 COMMON / CLAENV / IPARMS 94* .. 95* .. Save statement .. 96 SAVE / CLAENV / 97* .. 98* .. Executable Statements .. 99* 100 IF( ISPEC.GE.1 .AND. ISPEC.LE.9 ) THEN 101 IPARMS( ISPEC ) = NVALUE 102 END IF 103* 104 RETURN 105* 106* End of XLAENV 107* 108 END 109