xlaenv.c
Go to the documentation of this file.
00001 /* xlaenv.f -- translated by f2c (version 20061008).
00002    You must link the resulting object file with libf2c:
00003         on Microsoft Windows system, link with libf2c.lib;
00004         on Linux or Unix systems, link with .../path/to/libf2c.a -lm
00005         or, if you install libf2c.a in a standard place, with -lf2c -lm
00006         -- in that order, at the end of the command line, as in
00007                 cc *.o -lf2c -lm
00008         Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
00009 
00010                 http://www.netlib.org/f2c/libf2c.zip
00011 */
00012 
00013 #include "f2c.h"
00014 #include "blaswrap.h"
00015 
00016 /* Common Block Declarations */
00017 
00018 struct {
00019     integer iparms[100];
00020 } claenv_;
00021 
00022 #define claenv_1 claenv_
00023 
00024 /* Subroutine */ int xlaenv_(integer *ispec, integer *nvalue)
00025 {
00026 
00027 /*  -- LAPACK auxiliary routine (version 3.1) -- */
00028 /*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
00029 /*     November 2006 */
00030 
00031 /*     .. Scalar Arguments .. */
00032 /*     .. */
00033 
00034 /*  Purpose */
00035 /*  ======= */
00036 
00037 /*  XLAENV sets certain machine- and problem-dependent quantities */
00038 /*  which will later be retrieved by ILAENV. */
00039 
00040 /*  Arguments */
00041 /*  ========= */
00042 
00043 /*  ISPEC   (input) INTEGER */
00044 /*          Specifies the parameter to be set in the COMMON array IPARMS. */
00045 /*          = 1: the optimal blocksize; if this value is 1, an unblocked */
00046 /*               algorithm will give the best performance. */
00047 /*          = 2: the minimum block size for which the block routine */
00048 /*               should be used; if the usable block size is less than */
00049 /*               this value, an unblocked routine should be used. */
00050 /*          = 3: the crossover point (in a block routine, for N less */
00051 /*               than this value, an unblocked routine should be used) */
00052 /*          = 4: the number of shifts, used in the nonsymmetric */
00053 /*               eigenvalue routines */
00054 /*          = 5: the minimum column dimension for blocking to be used; */
00055 /*               rectangular blocks must have dimension at least k by m, */
00056 /*               where k is given by ILAENV(2,...) and m by ILAENV(5,...) */
00057 /*          = 6: the crossover point for the SVD (when reducing an m by n */
00058 /*               matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds */
00059 /*               this value, a QR factorization is used first to reduce */
00060 /*               the matrix to a triangular form) */
00061 /*          = 7: the number of processors */
00062 /*          = 8: another crossover point, for the multishift QR and QZ */
00063 /*               methods for nonsymmetric eigenvalue problems. */
00064 /*          = 9: maximum size of the subproblems at the bottom of the */
00065 /*               computation tree in the divide-and-conquer algorithm */
00066 /*               (used by xGELSD and xGESDD) */
00067 /*          =10: ieee NaN arithmetic can be trusted not to trap */
00068 /*          =11: infinity arithmetic can be trusted not to trap */
00069 
00070 /*  NVALUE  (input) INTEGER */
00071 /*          The value of the parameter specified by ISPEC. */
00072 
00073 /*  ===================================================================== */
00074 
00075 /*     .. Arrays in Common .. */
00076 /*     .. */
00077 /*     .. Common blocks .. */
00078 /*     .. */
00079 /*     .. Save statement .. */
00080 /*     .. */
00081 /*     .. Executable Statements .. */
00082 
00083     if (*ispec >= 1 && *ispec <= 9) {
00084         claenv_1.iparms[*ispec - 1] = *nvalue;
00085     }
00086 
00087     return 0;
00088 
00089 /*     End of XLAENV */
00090 
00091 } /* xlaenv_ */


swiftnav
Author(s):
autogenerated on Sat Jun 8 2019 18:56:16