aboutsummaryrefslogtreecommitdiff
path: root/SRC/cgbrfsx.f
diff options
context:
space:
mode:
authordeaglanhalligan <deaglanhalligan@8a072113-8704-0410-8d35-dd094bca7971>2009-02-11 06:06:54 +0000
committerdeaglanhalligan <deaglanhalligan@8a072113-8704-0410-8d35-dd094bca7971>2009-02-11 06:06:54 +0000
commit1f0792306441cdcd175199ad6720671df249dc47 (patch)
tree3a1c16a498b614128bc3977416ee7b3090d03dae /SRC/cgbrfsx.f
parente9454e224e5fa4d61076493be3916a64f274a5ae (diff)
Added Jasons patches to bring work and rwork down to 2*N in the complex refinement routines.
Diffstat (limited to 'SRC/cgbrfsx.f')
-rw-r--r--SRC/cgbrfsx.f12
1 files changed, 7 insertions, 5 deletions
diff --git a/SRC/cgbrfsx.f b/SRC/cgbrfsx.f
index 6b07ddb7..adfc943a 100644
--- a/SRC/cgbrfsx.f
+++ b/SRC/cgbrfsx.f
@@ -296,9 +296,9 @@
* is true, 0.0 is false.
* Default: 1.0 (attempt componentwise convergence)
*
-* WORK (workspace) REAL array, dimension (4*N)
+* WORK (workspace) COMPLEX array, dimension (2*N)
*
-* IWORK (workspace) INTEGER array, dimension (N)
+* RWORK (workspace) REAL array, dimension (2*N)
*
* INFO (output) INTEGER
* = 0: Successful exit. The solution to every right-hand side is
@@ -359,7 +359,7 @@
EXTERNAL XERBLA, CGBCON, CLA_GBRFSX_EXTENDED
* ..
* .. Intrinsic Functions ..
- INTRINSIC MAX, SQRT
+ INTRINSIC MAX, SQRT, TRANSFER
* ..
* .. External Functions ..
EXTERNAL LSAME, BLAS_FPINFO_X, ILATRANS, ILAPREC
@@ -510,14 +510,16 @@
CALL CLA_GBRFSX_EXTENDED( PREC_TYPE, TRANS_TYPE, N, KL, KU,
$ NRHS, AB, LDAB, AFB, LDAFB, IPIV, COLEQU, C, B,
$ LDB, X, LDX, BERR, N_NORMS, ERR_BNDS_NORM,
- $ ERR_BNDS_COMP, WORK(N+1), RWORK, WORK(2*N+1), WORK(1),
+ $ ERR_BNDS_COMP, WORK, RWORK, WORK(N+1),
+ $ TRANSFER (RWORK(1:2*N), (/ (ZERO, ZERO) /), N),
$ RCOND, ITHRESH, RTHRESH, UNSTABLE_THRESH, IGNORE_CWISE,
$ INFO )
ELSE
CALL CLA_GBRFSX_EXTENDED( PREC_TYPE, TRANS_TYPE, N, KL, KU,
$ NRHS, AB, LDAB, AFB, LDAFB, IPIV, ROWEQU, R, B,
$ LDB, X, LDX, BERR, N_NORMS, ERR_BNDS_NORM,
- $ ERR_BNDS_COMP, WORK(N+1), RWORK, WORK(2*N+1), WORK(1),
+ $ ERR_BNDS_COMP, WORK, RWORK, WORK(N+1),
+ $ TRANSFER (RWORK(1:2*N), (/ (ZERO, ZERO) /), N),
$ RCOND, ITHRESH, RTHRESH, UNSTABLE_THRESH, IGNORE_CWISE,
$ INFO )
END IF