--- rpl/lapack/lapack/zgbrfsx.f 2011/11/21 22:19:44 1.6
+++ rpl/lapack/lapack/zgbrfsx.f 2020/05/21 21:46:03 1.16
@@ -2,18 +2,18 @@
*
* =========== DOCUMENTATION ===========
*
-* Online html documentation available at
-* http://www.netlib.org/lapack/explore-html/
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
*
*> \htmlonly
-*> Download ZGBRFSX + dependencies
-*>
-*> [TGZ]
-*>
-*> [ZIP]
-*>
+*> Download ZGBRFSX + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
*> [TXT]
-*> \endhtmlonly
+*> \endhtmlonly
*
* Definition:
* ===========
@@ -23,7 +23,7 @@
* BERR, N_ERR_BNDS, ERR_BNDS_NORM,
* ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK,
* INFO )
-*
+*
* .. Scalar Arguments ..
* CHARACTER TRANS, EQUED
* INTEGER INFO, LDAB, LDAFB, LDB, LDX, N, KL, KU, NRHS,
@@ -38,7 +38,7 @@
* $ ERR_BNDS_NORM( NRHS, * ),
* $ ERR_BNDS_COMP( NRHS, * ), RWORK( * )
* ..
-*
+*
*
*> \par Purpose:
* =============
@@ -75,7 +75,7 @@
*> Specifies the form of the system of equations:
*> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose)
-*> = 'C': A**H * X = B (Conjugate transpose = Transpose)
+*> = 'C': A**H * X = B (Conjugate transpose)
*> \endverbatim
*>
*> \param[in] EQUED
@@ -121,7 +121,7 @@
*>
*> \param[in] AB
*> \verbatim
-*> AB is DOUBLE PRECISION array, dimension (LDAB,N)
+*> AB is COMPLEX*16 array, dimension (LDAB,N)
*> The original band matrix A, stored in rows 1 to KL+KU+1.
*> The j-th column of A is stored in the j-th column of the
*> array AB as follows:
@@ -136,7 +136,7 @@
*>
*> \param[in] AFB
*> \verbatim
-*> AFB is DOUBLE PRECISION array, dimension (LDAFB,N)
+*> AFB is COMPLEX*16 array, dimension (LDAFB,N)
*> Details of the LU factorization of the band matrix A, as
*> computed by DGBTRF. U is stored as an upper triangular band
*> matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
@@ -159,7 +159,7 @@
*>
*> \param[in,out] R
*> \verbatim
-*> R is or output) DOUBLE PRECISION array, dimension (N)
+*> R is DOUBLE PRECISION array, dimension (N)
*> The row scale factors for A. If EQUED = 'R' or 'B', A is
*> multiplied on the left by diag(R); if EQUED = 'N' or 'C', R
*> is not accessed. R is an input argument if FACT = 'F';
@@ -177,7 +177,7 @@
*>
*> \param[in,out] C
*> \verbatim
-*> C is or output) DOUBLE PRECISION array, dimension (N)
+*> C is DOUBLE PRECISION array, dimension (N)
*> The column scale factors for A. If EQUED = 'C' or 'B', A is
*> multiplied on the right by diag(C); if EQUED = 'N' or 'R', C
*> is not accessed. C is an input argument if FACT = 'F';
@@ -195,7 +195,7 @@
*>
*> \param[in] B
*> \verbatim
-*> B is DOUBLE PRECISION array, dimension (LDB,NRHS)
+*> B is COMPLEX*16 array, dimension (LDB,NRHS)
*> The right hand side matrix B.
*> \endverbatim
*>
@@ -207,7 +207,7 @@
*>
*> \param[in,out] X
*> \verbatim
-*> X is DOUBLE PRECISION array, dimension (LDX,NRHS)
+*> X is COMPLEX*16 array, dimension (LDX,NRHS)
*> On entry, the solution matrix X, as computed by DGETRS.
*> On exit, the improved solution matrix X.
*> \endverbatim
@@ -308,7 +308,7 @@
*> information as described below. There currently are up to three
*> pieces of information returned for each right-hand side. If
*> componentwise accuracy is not requested (PARAMS(3) = 0.0), then
-*> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most
+*> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS < 3, then at most
*> the first (:,N_ERR_BNDS) entries are returned.
*>
*> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
@@ -344,14 +344,14 @@
*> \param[in] NPARAMS
*> \verbatim
*> NPARAMS is INTEGER
-*> Specifies the number of parameters set in PARAMS. If .LE. 0, the
+*> Specifies the number of parameters set in PARAMS. If <= 0, the
*> PARAMS array is never referenced and default values are used.
*> \endverbatim
*>
*> \param[in,out] PARAMS
*> \verbatim
-*> PARAMS is / output) DOUBLE PRECISION array, dimension NPARAMS
-*> Specifies algorithm parameters. If an entry is .LT. 0.0, then
+*> PARAMS is DOUBLE PRECISION array, dimension NPARAMS
+*> Specifies algorithm parameters. If an entry is < 0.0, then
*> that entry will be filled with default value used for that
*> parameter. Only positions up to NPARAMS are accessed; defaults
*> are used for higher-numbered parameters.
@@ -359,9 +359,9 @@
*> PARAMS(LA_LINRX_ITREF_I = 1) : Whether to perform iterative
*> refinement or not.
*> Default: 1.0D+0
-*> = 0.0 : No refinement is performed, and no error bounds are
+*> = 0.0: No refinement is performed, and no error bounds are
*> computed.
-*> = 1.0 : Use the double-precision refinement algorithm,
+*> = 1.0: Use the double-precision refinement algorithm,
*> possibly with doubled-single computations if the
*> compilation environment does not support DOUBLE
*> PRECISION.
@@ -424,12 +424,12 @@
* Authors:
* ========
*
-*> \author Univ. of Tennessee
-*> \author Univ. of California Berkeley
-*> \author Univ. of Colorado Denver
-*> \author NAG Ltd.
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
*
-*> \date November 2011
+*> \date April 2012
*
*> \ingroup complex16GBcomputational
*
@@ -440,10 +440,10 @@
$ ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK,
$ INFO )
*
-* -- LAPACK computational routine (version 3.4.0) --
+* -- LAPACK computational routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* November 2011
+* April 2012
*
* .. Scalar Arguments ..
CHARACTER TRANS, EQUED
@@ -498,11 +498,10 @@
INTRINSIC MAX, SQRT, TRANSFER
* ..
* .. External Functions ..
- EXTERNAL LSAME, BLAS_FPINFO_X, ILATRANS, ILAPREC
+ EXTERNAL LSAME, ILAPREC
EXTERNAL DLAMCH, ZLANGB, ZLA_GBRCOND_X, ZLA_GBRCOND_C
DOUBLE PRECISION DLAMCH, ZLANGB, ZLA_GBRCOND_X, ZLA_GBRCOND_C
LOGICAL LSAME
- INTEGER BLAS_FPINFO_X
INTEGER ILATRANS, ILAPREC
* ..
* .. Executable Statements ..
@@ -642,7 +641,7 @@
*
* Perform refinement on each right-hand side
*
- IF ( REF_TYPE .NE. 0 ) THEN
+ IF ( REF_TYPE .NE. 0 .AND. INFO .EQ. 0 ) THEN
PREC_TYPE = ILAPREC( 'E' )