LAPACK  3.5.0
LAPACK: Linear Algebra PACKage
 All Classes Files Functions Variables Typedefs Macros
xlaenv.f
Go to the documentation of this file.
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 *> \date November 2011
75 *
76 *> \ingroup aux_lin
77 *
78 * =====================================================================
79  SUBROUTINE xlaenv( ISPEC, NVALUE )
80 *
81 * -- LAPACK test routine (version 3.4.0) --
82 * -- LAPACK is a software package provided by Univ. of Tennessee, --
83 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
84 * November 2011
85 *
86 * .. Scalar Arguments ..
87  INTEGER ispec, nvalue
88 * ..
89 *
90 * =====================================================================
91 *
92 * .. Arrays in Common ..
93  INTEGER iparms( 100 )
94 * ..
95 * .. Common blocks ..
96  COMMON / claenv / iparms
97 * ..
98 * .. Save statement ..
99  SAVE / claenv /
100 * ..
101 * .. Executable Statements ..
102 *
103  IF( ispec.GE.1 .AND. ispec.LE.9 ) THEN
104  iparms( ispec ) = nvalue
105  END IF
106 *
107  RETURN
108 *
109 * End of XLAENV
110 *
111  END