Lapack comments improvements

Open discussion regarding features, bugs, issues, vendors, etc.

Lapack comments improvements

Postby jan-lapack » Tue Jun 02, 2009 4:46 pm

Because of integration into perl / PDL, I am writing a parser for the FORTRAN code of lapack.
https://sourceforge.net/tracker/?func=d ... oup_id=612
I made this code very picky on right formatting of comments.
Thus, I noticed a couple of (mostly whitespace) inconsistencies.
I have added them below (as I could not find a right extension for an attachment)
I can also upload the updated source files, if this is more convenient.
Could these changes be included in a next release ?

(Updated the code below on sept 8, 2009.)
Note that I have not parsed the single precision libraries nor the complex, and thus similar notes will apply to similar files

Code: Select all
--- dgbrfsx.f   2009/04/16 19:09:59   1.1
+++ dgbrfsx.f   2009/06/04 19:25:24
@@ -263,7 +263,7 @@
 *     Specifies the number of parameters set in PARAMS.  If .LE. 0, the
 *     PARAMS array is never referenced and default values are used.
 *
-*     PARAMS  (input / output) DOUBLE PRECISION array, dimension NPARAMS
+*     PARAMS  (input / output) DOUBLE PRECISION array, dimension (NPARAMS)
 *     Specifies algorithm parameters.  If an entry is .LT. 0.0, then
 *     that entry will be filled with default value used for that
 *     parameter.  Only positions up to NPARAMS are accessed; defaults
--- dgbsvxx.f   2008/11/17 08:10:08   1.1
+++ dgbsvxx.f   2009/06/04 19:25:56
@@ -17,7 +17,7 @@
 *     .. Scalar Arguments ..
       CHARACTER          EQUED, FACT, TRANS
       INTEGER            INFO, LDAB, LDAFB, LDB, LDX, N, NRHS, NPARAMS,
-     $                   N_ERR_BNDS
+     $                   N_ERR_BNDS, KL, KU
       DOUBLE PRECISION   RCOND, RPVGRW
 *     ..
 *     .. Array Arguments ..
@@ -377,7 +377,7 @@
 *     Specifies the number of parameters set in PARAMS.  If .LE. 0, the
 *     PARAMS array is never referenced and default values are used.
 *
-*     PARAMS  (input / output) DOUBLE PRECISION array, dimension NPARAMS
+*     PARAMS  (input/output) DOUBLE PRECISION array, dimension (NPARAMS)
 *     Specifies algorithm parameters.  If an entry is .LT. 0.0, then
 *     that entry will be filled with default value used for that
 *     parameter.  Only positions up to NPARAMS are accessed; defaults
--- dgejsv.f   2009/04/16 19:09:59   1.1
+++ dgejsv.f   2009/06/03 22:31:14
@@ -46,9 +46,9 @@
 *  Arguments
 *  =========
 *
-* JOBA   (input) CHARACTER*1
+*  JOBA    (input) CHARACTER*1
 *        Specifies the level of accuracy:
-*      = 'C': This option works well (high relative accuracy) if A = B * D,
+*       = 'C': This option works well (high relative accuracy) if A = B * D,
 *             with well-conditioned B and arbitrary diagonal matrix D.
 *             The accuracy cannot be spoiled by COLUMN scaling. The
 *             accuracy of the computed output depends on the condition of
@@ -59,52 +59,52 @@
 *             pivoting. This initial preprocessing and preconditioning by
 *             a rank revealing QR factorization is common for all values of
 *             JOBA. Additional actions are specified as follows:
-*      = 'E': Computation as with 'C' with an additional estimate of the
+*       = 'E': Computation as with 'C' with an additional estimate of the
 *             condition number of B. It provides a realistic error bound.
-*      = 'F': If A = D1 * C * D2 with ill-conditioned diagonal scalings
+*          = 'F': If A = D1 * C * D2 with ill-conditioned diagonal scalings
 *             D1, D2, and well-conditioned matrix C, this option gives
 *             higher accuracy than the 'C' option. If the structure of the
 *             input matrix is not known, and relative accuracy is
 *             desirable, then this option is advisable. The input matrix A
 *             is preprocessed with QR factorization with FULL (row and
 *             column) pivoting.
-*      = 'G'  Computation as with 'F' with an additional estimate of the
+*       = 'G'  Computation as with 'F' with an additional estimate of the
 *             condition number of B, where A=D*B. If A has heavily weighted
 *             rows, then using this condition number gives too pessimistic
 *             error bound.
-*      = 'A': Small singular values are the noise and the matrix is treated
+*       = 'A': Small singular values are the noise and the matrix is treated
 *             as numerically rank defficient. The error in the computed
 *             singular values is bounded by f(m,n)*epsilon*||A||.
 *             The computed SVD A = U * S * V^t restores A up to
 *             f(m,n)*epsilon*||A||.
 *             This gives the procedure the licence to discard (set to zero)
 *             all singular values below N*epsilon*||A||.
-*      = 'R': Similar as in 'A'. Rank revealing property of the initial
+*       = 'R': Similar as in 'A'. Rank revealing property of the initial
 *             QR factorization is used do reveal (using triangular factor)
 *             a gap sigma_{r+1} < epsilon * sigma_r in which case the
 *             numerical RANK is declared to be r. The SVD is computed with
 *             absolute error bounds, but more accurately than with 'A'.
 *
-* JOBU   (input) CHARACTER*1
+*  JOBU    (input) CHARACTER*1
 *        Specifies whether to compute the columns of U:
-*      = 'U': N columns of U are returned in the array U.
-*      = 'F': full set of M left sing. vectors is returned in the array U.
-*      = 'W': U may be used as workspace of length M*N. See the description
+*       = 'U': N columns of U are returned in the array U.
+*       = 'F': full set of M left sing. vectors is returned in the array U.
+*       = 'W': U may be used as workspace of length M*N. See the description
 *             of U.
-*      = 'N': U is not computed.
+*       = 'N': U is not computed.
 *
-* JOBV   (input) CHARACTER*1
+*  JOBV    (input) CHARACTER*1
 *        Specifies whether to compute the matrix V:
-*      = 'V': N columns of V are returned in the array V; Jacobi rotations
+*       = 'V': N columns of V are returned in the array V; Jacobi rotations
 *             are not explicitly accumulated.
-*      = 'J': N columns of V are returned in the array V, but they are
+*       = 'J': N columns of V are returned in the array V, but they are
 *             computed as the product of Jacobi rotations. This option is
 *             allowed only if JOBU .NE. 'N', i.e. in computing the full SVD.
-*      = 'W': V may be used as workspace of length N*N. See the description
+*       = 'W': V may be used as workspace of length N*N. See the description
 *             of V.
-*      = 'N': V is not computed.
+*       = 'N': V is not computed.
 *
-* JOBR   (input) CHARACTER*1
+*  JOBR    (input) CHARACTER*1
 *        Specifies the RANGE for the singular values. Issues the licence to
 *        set to zero small positive singular values if they are outside
 *        specified range. If A .NE. 0 is scaled so that the largest singular
@@ -112,27 +112,27 @@
 *        the licence to kill columns of A whose norm in c*A is less than
 *        DSQRT(SFMIN) (for JOBR.EQ.'R'), or less than SMALL=SFMIN/EPSLN,
 *        where SFMIN=SLAMCH('S'), EPSLN=SLAMCH('E').
-*      = 'N': Do not kill small columns of c*A. This option assumes that
+*       = 'N': Do not kill small columns of c*A. This option assumes that
 *             BLAS and QR factorizations and triangular solvers are
 *             implemented to work in that range. If the condition of A
 *             is greater than BIG, use DGESVJ.
-*      = 'R': RESTRICTED range for sigma(c*A) is [DSQRT(SFMIN), DSQRT(BIG)]
+*       = 'R': RESTRICTED range for sigma(c*A) is [DSQRT(SFMIN), DSQRT(BIG)]
 *             (roughly, as described above). This option is recommended.
 *                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 *        For computing the singular values in the FULL range [SFMIN,BIG]
 *        use DGESVJ.
 *
-* JOBT   (input) CHARACTER*1
+*  JOBT    (input) CHARACTER*1
 *        If the matrix is square then the procedure may determine to use
 *        transposed A if A^t seems to be better with respect to convergence.
 *        If the matrix is not square, JOBT is ignored. This is subject to
 *        changes in the future.
 *        The decision is based on two values of entropy over the adjoint
 *        orbit of A^t * A. See the descriptions of WORK(6) and WORK(7).
-*      = 'T': transpose if entropy test indicates possibly faster
+*       = 'T': transpose if entropy test indicates possibly faster
 *        convergence of Jacobi process if A^t is taken as input. If A is
 *        replaced with A^t, then the row pivoting is included automatically.
-*      = 'N': do not speculate.
+*       = 'N': do not speculate.
 *        This option can be used to compute only the singular values, or the
 *        full SVD (U, SIGMA and V). For only one set of singular vectors
 *        (U or V), the caller should provide both U and V, as one of the
@@ -140,7 +140,7 @@
 *        The implementer can easily remove this constraint and make the
 *        code more complicated. See the descriptions of U and V.
 *
-* JOBP   (input) CHARACTER*1
+*  JOBP    (input) CHARACTER*1
 *        Issues the licence to introduce structured perturbations to drown
 *        denormalized numbers. This licence should be active if the
 *        denormals are poorly implemented, causing slow computation,
@@ -149,22 +149,22 @@
 *        when the full SVD or only the singular values are requested. The
 *        implementer/user can easily add the perturbation for the cases of
 *        computing one set of singular vectors.
-*      = 'P': introduce perturbation
-*      = 'N': do not perturb
+*       = 'P': introduce perturbation
+*       = 'N': do not perturb
 *
-*  M      (input) INTEGER
-*         The number of rows of the input matrix A.  M >= 0.
+*  M       (input) INTEGER
+*          The number of rows of the input matrix A.  M >= 0.
 *
-*  N      (input) INTEGER
-*         The number of columns of the input matrix A. M >= N >= 0.
+*  N       (input) INTEGER
+*          The number of columns of the input matrix A. M >= N >= 0.
 *
-*  A       (input/workspace) REAL array, dimension (LDA,N)
+*  A       (input/workspace) DOUBLE PRECISION array, dimension (LDA,N)
 *          On entry, the M-by-N matrix A.
 *
 *  LDA     (input) INTEGER
 *          The leading dimension of the array A.  LDA >= max(1,M).
 *
-*  SVA     (workspace/output) REAL array, dimension (N)
+*  SVA     (workspace/output) DOUBLE PRECISION array, dimension (N)
 *          On exit,
 *          - For WORK(1)/WORK(2) = ONE: The singular values of A. During the
 *            computation SVA contains Euclidean column norms of the
@@ -177,7 +177,7 @@
 *            as exact zeros obtained by "set to zero" because they are
 *            below the numerical rank threshold or are denormalized numbers.
 *
-*  U       (workspace/output) REAL array, dimension ( LDU, N )
+*  U       (workspace/output) DOUBLE PRECISION array, dimension ( LDU, N )
 *          If JOBU = 'U', then U contains on exit the M-by-N matrix of
 *                         the left singular vectors.
 *          If JOBU = 'F', then U contains on exit the M-by-M matrix of
@@ -192,11 +192,11 @@
 *                         reserved as workspace of length N*N.
 *          If JOBU = 'N'  U is not referenced.
 *
-* LDU      (input) INTEGER
+*  LDU     (input) INTEGER
 *          The leading dimension of the array U,  LDU >= 1.
 *          IF  JOBU = 'U' or 'F' or 'W',  then LDU >= M.
 *
-*  V       (workspace/output) REAL array, dimension ( LDV, N )
+*  V       (workspace/output) DOUBLE PRECISION array, dimension ( LDV, N )
 *          If JOBV = 'V', 'J' then V contains on exit the N-by-N matrix of
 *                         the right singular vectors;
 *          If JOBV = 'W', AND (JOBU.EQ.'U' AND JOBT.EQ.'T' AND M.EQ.N),
@@ -212,7 +212,7 @@
 *          The leading dimension of the array V,  LDV >= 1.
 *          If JOBV = 'V' or 'J' or 'W', then LDV >= N.
 *
-*  WORK    (workspace/output) REAL array, dimension at least LWORK.
+*  WORK    (workspace/output) DOUBLE PRECISION array, dimension at least LWORK.
 *          On exit,
 *          WORK(1) = SCALE = WORK(2) / WORK(1) is the scaling factor such
 *                    that SCALE*SVA(1:N) are the computed singular values
--- dgerfsx.f   2009/04/16 19:09:59   1.1
+++ dgerfsx.f   2009/06/04 19:33:42
@@ -250,7 +250,7 @@
 *     Specifies the number of parameters set in PARAMS.  If .LE. 0, the
 *     PARAMS array is never referenced and default values are used.
 *
-*     PARAMS  (input / output) DOUBLE PRECISION array, dimension NPARAMS
+*     PARAMS  (input/output) DOUBLE PRECISION array, dimension (NPARAMS)
 *     Specifies algorithm parameters.  If an entry is .LT. 0.0, then
 *     that entry will be filled with default value used for that
 *     parameter.  Only positions up to NPARAMS are accessed; defaults
--- dgesc2.f   2009/04/16 19:09:59   1.1
+++ dgesc2.f   2009/06/02 18:18:41
@@ -49,9 +49,9 @@
 *          The pivot indices; for 1 <= j <= N, column j of the
 *          matrix has been interchanged with column JPIV(j).
 *
-*  SCALE    (output) DOUBLE PRECISION
-*           On exit, SCALE contains the scale factor. SCALE is chosen
-*           0 <= SCALE <= 1 to prevent owerflow in the solution.
+*  SCALE   (output) DOUBLE PRECISION
+*          On exit, SCALE contains the scale factor. SCALE is chosen
+*          0 <= SCALE <= 1 to prevent owerflow in the solution.
 *
 *  Further Details
 *  ===============
--- dgesvj.f   2009/04/16 19:09:59   1.1
+++ dgesvj.f   2009/06/03 21:58:30
@@ -139,7 +139,7 @@
 *          The number of columns of the input matrix A.
 *          M >= N >= 0.
 *
-*  A       (input/output) REAL array, dimension (LDA,N)
+*  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
 *          On entry, the M-by-N matrix A.
 *          On exit :
 *          If JOBU .EQ. 'U' .OR. JOBU .EQ. 'C' :
@@ -181,7 +181,7 @@
 *  LDA     (input) INTEGER
 *          The leading dimension of the array A.  LDA >= max(1,M).
 *
-*  SVA     (workspace/output) REAL array, dimension (N)
+*  SVA     (workspace/output) DOUBLE PRECISION array, dimension (N)
 *          On exit :
 *          If INFO .EQ. 0 :
 *          depending on the value SCALE = WORK(1), we have:
@@ -201,7 +201,7 @@
 *          If JOBV .EQ. 'A', then the product of Jacobi rotations in DGESVJ
 *          is applied to the first MV rows of V. See the description of JOBV.
 *
-*  V       (input/output) REAL array, dimension (LDV,N)
+*  V       (input/output) DOUBLE PRECISION array, dimension (LDV,N)
 *          If JOBV = 'V', then V contains on exit the N-by-N matrix of
 *                         the right singular vectors;
 *          If JOBV = 'A', then V contains the product of the computed right
@@ -214,7 +214,7 @@
 *          If JOBV .EQ. 'V', then LDV .GE. max(1,N).
 *          If JOBV .EQ. 'A', then LDV .GE. max(1,MV) .
 *
-*  WORK    (input/workspace/output) REAL array, dimension max(4,M+N).
+*  WORK    (input/workspace/output) DOUBLE PRECISION array, dimension (LWORK)
 *          On entry :
 *          If JOBU .EQ. 'C' :
 *          WORK(1) = CTOL, where CTOL defines the threshold for convergence.
@@ -241,7 +241,8 @@
 *                    Jacobi rotation angles in the last sweep. It can be
 *                    useful for a post festum analysis.
 *
-*  LWORK   length of WORK, WORK >= MAX(6,M+N)
+*  LWORK   (input) INTEGER
+*          length of WORK, WORK >= MAX(6,M+N)
 *
 *  INFO    (output) INTEGER
 *          = 0 : successful exit.
--- dgesvxx.f   2008/11/17 08:10:08   1.1
+++ dgesvxx.f   2009/06/04 19:34:04
@@ -363,7 +363,7 @@
 *     Specifies the number of parameters set in PARAMS.  If .LE. 0, the
 *     PARAMS array is never referenced and default values are used.
 *
-*     PARAMS  (input / output) DOUBLE PRECISION array, dimension NPARAMS
+*     PARAMS  (input/output) DOUBLE PRECISION array, dimension (NPARAMS)
 *     Specifies algorithm parameters.  If an entry is .LT. 0.0, then
 *     that entry will be filled with default value used for that
 *     parameter.  Only positions up to NPARAMS are accessed; defaults
--- dggbal.f   2009/04/16 19:09:59   1.1
+++ dggbal.f   2009/06/03 21:15:26
@@ -88,7 +88,7 @@
 *          The order in which the interchanges are made is N to IHI+1,
 *          then 1 to ILO-1.
 *
-*  WORK    (workspace) REAL array, dimension (lwork)
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (lwork)
 *          lwork must be at least max(1,6*N) when JOB = 'S' or 'B', and
 *          at least 1 when JOB = 'N' or 'P'.
 *
--- dgsvj0.f   2009/04/16 19:09:59   1.1
+++ dgsvj0.f   2009/06/04 19:20:56
@@ -69,7 +69,7 @@
 *          The number of columns of the input matrix A.
 *          M >= N >= 0.
 *
-*  A       (input/output) REAL array, dimension (LDA,N)
+*  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
 *          On entry, M-by-N matrix A, such that A*diag(D) represents
 *          the input matrix.
 *          On exit,
@@ -82,7 +82,7 @@
 *  LDA     (input) INTEGER
 *          The leading dimension of the array A.  LDA >= max(1,M).
 *
-*  D       (input/workspace/output) REAL array, dimension (N)
+*  D       (input/workspace/output) DOUBLE PRECISION array, dimension (N)
 *          The array D accumulates the scaling factors from the fast scaled
 *          Jacobi rotations.
 *          On entry, A*diag(D) represents the input matrix.
@@ -92,7 +92,7 @@
 *          TOL and NSWEEP, respectively.
 *          (See the descriptions of A, TOL and NSWEEP.)
 *
-*  SVA     (input/workspace/output) REAL array, dimension (N)
+*  SVA     (input/workspace/output) DOUBLE PRECISION array, dimension (N)
 *          On entry, SVA contains the Euclidean norms of the columns of
 *          the matrix A*diag(D).
 *          On exit, SVA contains the Euclidean norms of the columns of
@@ -103,7 +103,7 @@
 *                           sequence of Jacobi rotations.
 *          If JOBV = 'N',   then MV is not referenced.
 *
-*  V       (input/output) REAL array, dimension (LDV,N)
+*  V       (input/output) DOUBLE PRECISION array, dimension (LDV,N)
 *          If JOBV .EQ. 'V' then N rows of V are post-multipled by a
 *                           sequence of Jacobi rotations.
 *          If JOBV .EQ. 'A' then MV rows of V are post-multipled by a
@@ -115,13 +115,13 @@
 *          If JOBV = 'V', LDV .GE. N.
 *          If JOBV = 'A', LDV .GE. MV.
 *
-*  EPS     (input) INTEGER
+*  EPS     (input) DOUBLE PRECISION
 *          EPS = SLAMCH('Epsilon')
 *
-*  SFMIN   (input) INTEGER
+*  SFMIN   (input) DOUBLE PRECISION
 *          SFMIN = SLAMCH('Safe Minimum')
 *
-*  TOL     (input) REAL
+*  TOL     (input) DOUBLE PRECISION
 *          TOL is the threshold for Jacobi rotations. For a pair
 *          A(:,p), A(:,q) of pivot columns, the Jacobi rotation is
 *          applied only if DABS(COS(angle(A(:,p),A(:,q)))) .GT. TOL.
@@ -130,7 +130,7 @@
 *          NSWEEP is the number of sweeps of Jacobi rotations to be
 *          performed.
 *
-*  WORK    (workspace) REAL array, dimension LWORK.
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (LWORK)
 *
 *  LWORK   (input) INTEGER
 *          LWORK is the dimension of WORK. LWORK .GE. M.
--- dgsvj1.f   2009/04/16 19:09:59   1.1
+++ dgsvj1.f   2009/06/04 19:21:45
@@ -87,7 +87,7 @@
 *          N1 specifies the 2 x 2 block partition, the first N1 columns are
 *          rotated 'against' the remaining N-N1 columns of A.
 *
-*  A       (input/output) REAL array, dimension (LDA,N)
+*  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
 *          On entry, M-by-N matrix A, such that A*diag(D) represents
 *          the input matrix.
 *          On exit,
@@ -100,7 +100,7 @@
 *  LDA     (input) INTEGER
 *          The leading dimension of the array A.  LDA >= max(1,M).
 *
-*  D       (input/workspace/output) REAL array, dimension (N)
+*  D       (input/workspace/output) DOUBLE PRECISION array, dimension (N)
 *          The array D accumulates the scaling factors from the fast scaled
 *          Jacobi rotations.
 *          On entry, A*diag(D) represents the input matrix.
@@ -110,7 +110,7 @@
 *          TOL and NSWEEP, respectively.
 *          (See the descriptions of N1, A, TOL and NSWEEP.)
 *
-*  SVA     (input/workspace/output) REAL array, dimension (N)
+*  SVA     (input/workspace/output) DOUBLE PRECISION array, dimension (N)
 *          On entry, SVA contains the Euclidean norms of the columns of
 *          the matrix A*diag(D).
 *          On exit, SVA contains the Euclidean norms of the columns of
@@ -121,7 +121,7 @@
 *                           sequence of Jacobi rotations.
 *          If JOBV = 'N',   then MV is not referenced.
 *
-*  V       (input/output) REAL array, dimension (LDV,N)
+*  V       (input/output) DOUBLE PRECISION array, dimension (LDV,N)
 *          If JOBV .EQ. 'V' then N rows of V are post-multipled by a
 *                           sequence of Jacobi rotations.
 *          If JOBV .EQ. 'A' then MV rows of V are post-multipled by a
@@ -133,13 +133,13 @@
 *          If JOBV = 'V', LDV .GE. N.
 *          If JOBV = 'A', LDV .GE. MV.
 *
-*  EPS     (input) INTEGER
+*  EPS     (input) DOUBLE PRECISION
 *          EPS = SLAMCH('Epsilon')
 *
-*  SFMIN   (input) INTEGER
+*  SFMIN   (input) DOUBLE PRECISION
 *          SFMIN = SLAMCH('Safe Minimum')
 *
-*  TOL     (input) REAL
+*  TOL     (input) DOUBLE PRECISION
 *          TOL is the threshold for Jacobi rotations. For a pair
 *          A(:,p), A(:,q) of pivot columns, the Jacobi rotation is
 *          applied only if DABS(COS(angle(A(:,p),A(:,q)))) .GT. TOL.
@@ -148,7 +148,7 @@
 *          NSWEEP is the number of sweeps of Jacobi rotations to be
 *          performed.
 *
-*  WORK    (workspace) REAL array, dimension LWORK.
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (LWORK)
 *
 *  LWORK   (input) INTEGER
 *          LWORK is the dimension of WORK. LWORK .GE. M.
--- disnan.f   2009/04/16 19:09:59   1.1
+++ disnan.f   2009/06/02 18:20:25
@@ -19,7 +19,7 @@
 *  Arguments
 *  =========
 *
-*  DIN      (input) DOUBLE PRECISION
+*  DIN     (input) DOUBLE PRECISION
 *          Input to test for NaN.
 *
 *  =====================================================================
--- dlaein.f   2009/04/16 19:09:59   1.1
+++ dlaein.f   2009/06/02 18:34:33
@@ -26,11 +26,11 @@
 *  Arguments
 *  =========
 *
-*  RIGHTV   (input) LOGICAL
+*  RIGHTV  (input) LOGICAL
 *          = .TRUE. : compute right eigenvector;
 *          = .FALSE.: compute left eigenvector.
 *
-*  NOINIT   (input) LOGICAL
+*  NOINIT  (input) LOGICAL
 *          = .TRUE. : no initial vector supplied in (VR,VI).
 *          = .FALSE.: initial vector supplied in (VR,VI).
 *
@@ -70,7 +70,7 @@
 *  LDB     (input) INTEGER
 *          The leading dimension of the array B.  LDB >= N+1.
 *
-*  WORK   (workspace) DOUBLE PRECISION array, dimension (N)
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (N)
 *
 *  EPS3    (input) DOUBLE PRECISION
 *          A small machine-dependent value which is used to perturb
--- dlaexc.f   2009/04/16 19:09:59   1.1
+++ dlaexc.f   2009/06/02 18:28:48
@@ -41,7 +41,7 @@
 *          canonical form.
 *          On exit, the updated matrix T, again in Schur canonical form.
 *
-*  LDT     (input)  INTEGER
+*  LDT     (input) INTEGER
 *          The leading dimension of the array T. LDT >= max(1,N).
 *
 *  Q       (input/output) DOUBLE PRECISION array, dimension (LDQ,N)
--- dlaisnan.f   2009/04/16 19:09:59   1.1
+++ dlaisnan.f   2009/06/03 14:54:06
@@ -29,8 +29,8 @@
 *  Arguments
 *  =========
 *
-*  DIN1     (input) DOUBLE PRECISION
-*  DIN2     (input) DOUBLE PRECISION
+*  DIN1    (input) DOUBLE PRECISION
+*  DIN2    (input) DOUBLE PRECISION
 *          Two numbers to compare for inequality.
 *
 *  =====================================================================
--- dla_lin_berr.f   2009/04/16 19:09:59   1.1
+++ dla_lin_berr.f   2009/06/03 20:26:38
@@ -42,16 +42,16 @@
 *     The number of right hand sides, i.e., the number of columns
 *     of the matrices AYB, RES, and BERR.  NRHS >= 0.
 *
-*     RES    (input) DOUBLE PRECISION array, dimension (N,NRHS)
+*     RES     (input) DOUBLE PRECISION array, dimension (N,NRHS)
 *     The residual matrix, i.e., the matrix R in the relative backward
 *     error formula above.
 *
-*     AYB    (input) DOUBLE PRECISION array, dimension (N, NRHS)
+*     AYB     (input) DOUBLE PRECISION array, dimension (N, NRHS)
 *     The denominator in the relative backward error formula above, i.e.,
 *     the matrix abs(op(A_s))*abs(Y) + abs(B_s). The matrices A, Y, and B
 *     are from iterative refinement (see dla_gerfsx_extended.f).
 *     
-*     RES    (output) DOUBLE PRECISION array, dimension (NRHS)
+*     BERR     (output) DOUBLE PRECISION array, dimension (NRHS)
 *     The componentwise relative backward error from the formula above.
 *
 *  =====================================================================
--- dlaneg.f   2009/04/16 19:09:59   1.1
+++ dlaneg.f   2009/06/04 04:57:11
@@ -1,6 +1,6 @@
-      FUNCTION DLANEG( N, D, LLD, SIGMA, PIVMIN, R )
+      INTEGER FUNCTION DLANEG( N, D, LLD, SIGMA, PIVMIN, R )
       IMPLICIT NONE
-      INTEGER DLANEG
+*     INTEGER DLANEG
 *
 *  -- LAPACK auxiliary routine (version 3.2) --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
--- dla_porcond.f   2009/04/16 19:09:59   1.1
+++ dla_porcond.f   2009/06/03 21:15:57
@@ -46,7 +46,7 @@
 *     The number of linear equations, i.e., the order of the
 *     matrix A.  N >= 0.
 *
-*     A       (input) REAL array, dimension (LDA,N)
+*     A       (input) DOUBLE PRECISION array, dimension (LDA,N)
 *     On entry, the N-by-N matrix A.
 *
 *     LDA     (input) INTEGER
--- dlaqr2.f   2009/04/16 19:09:59   1.1
+++ dlaqr2.f   2009/06/04 19:29:57
@@ -101,8 +101,8 @@
 *          The number of converged eigenvalues uncovered by this
 *          subroutine.
 *
-*     SR      (output) DOUBLE PRECISION array, dimension KBOT
-*     SI      (output) DOUBLE PRECISION array, dimension KBOT
+*     SR      (output) DOUBLE PRECISION array, dimension (KBOT)
+*     SI      (output) DOUBLE PRECISION array, dimension (KBOT)
 *          On output, the real and imaginary parts of approximate
 *          eigenvalues that may be used for shifts are stored in
 *          SR(KBOT-ND-NS+1) through SR(KBOT-ND) and
@@ -137,7 +137,7 @@
 *          The leading dimension of W just as declared in the
 *          calling subroutine.  NW .LE. LDV
 *
-*     WORK    (workspace) DOUBLE PRECISION array, dimension LWORK.
+*     WORK    (workspace) DOUBLE PRECISION array, dimension (LWORK)
 *          On exit, WORK(1) is set to an estimate of the optimal value
 *          of LWORK for the given values of N, NW, KTOP and KBOT.
 *
--- dlaqr3.f   2009/04/16 19:09:59   1.1
+++ dlaqr3.f   2009/06/04 19:30:13
@@ -97,8 +97,8 @@
 *          The number of converged eigenvalues uncovered by this
 *          subroutine.
 *
-*     SR      (output) DOUBLE PRECISION array, dimension KBOT
-*     SI      (output) DOUBLE PRECISION array, dimension KBOT
+*     SR      (output) DOUBLE PRECISION array, dimension (KBOT)
+*     SI      (output) DOUBLE PRECISION array, dimension (KBOT)
 *          On output, the real and imaginary parts of approximate
 *          eigenvalues that may be used for shifts are stored in
 *          SR(KBOT-ND-NS+1) through SR(KBOT-ND) and
@@ -133,7 +133,7 @@
 *          The leading dimension of W just as declared in the
 *          calling subroutine.  NW .LE. LDV
 *
-*     WORK    (workspace) DOUBLE PRECISION array, dimension LWORK.
+*     WORK    (workspace) DOUBLE PRECISION array, dimension (LWORK)
 *          On exit, WORK(1) is set to an estimate of the optimal value
 *          of LWORK for the given values of N, NW, KTOP and KBOT.
 *
--- dlarra.f   2009/04/16 19:09:59   1.1
+++ dlarra.f   2009/06/02 18:29:38
@@ -45,12 +45,12 @@
 *          On exit, the entries E2( ISPLIT( I ) ),
 *          1 <= I <= NSPLIT, have been set to zero
 *
-*  SPLTOL (input) DOUBLE PRECISION
+*  SPLTOL  (input) DOUBLE PRECISION
 *          The threshold for splitting. Two criteria can be used:
 *          SPLTOL<0 : criterion based on absolute off-diagonal value
 *          SPLTOL>0 : criterion that preserves relative accuracy
 *
-*  TNRM (input) DOUBLE PRECISION
+*  TNRM    (input) DOUBLE PRECISION
 *          The norm of the matrix.
 *
 *  NSPLIT  (output) INTEGER
--- dlarre.f   2009/04/16 19:09:59   1.1
+++ dlarre.f   2009/06/02 18:30:03
@@ -91,7 +91,7 @@
 *           An interval [LEFT,RIGHT] has converged if
 *           RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) )
 *
-*  SPLTOL (input) DOUBLE PRECISION
+*  SPLTOL  (input) DOUBLE PRECISION
 *          The threshold for splitting.
 *
 *  NSPLIT  (output) INTEGER
--- dlarrf.f   2009/04/16 19:09:59   1.1
+++ dlarrf.f   2009/06/02 18:56:24
@@ -60,10 +60,13 @@
 *          WERR contain the semiwidth of the uncertainty
 *          interval of the corresponding eigenvalue APPROXIMATION in W
 *
-*  SPDIAM (input) estimate of the spectral diameter obtained from the
+*  SPDIAM  (input) DOUBLE PRECISION
+*          estimate of the spectral diameter obtained from the
 *          Gerschgorin intervals
 *
-*  CLGAPL, CLGAPR (input) absolute gap on each end of the cluster.
+*  CLGAPL  (input) DOUBLE PRECISION
+*  CLGAPR  (input) DOUBLE PRECISION
+*          absolute gap on each end of the cluster.
 *          Set by the calling routine to protect against shifts too close
 *          to eigenvalues outside the cluster.
 *
@@ -83,6 +86,9 @@
 *  WORK    (workspace) DOUBLE PRECISION array, dimension (2*N)
 *          Workspace.
 *
+*  INFO    (output) INTEGER
+*          Signals processing OK (=0) or failure (=1)
+*
 *  Further Details
 *  ===============
 *
--- dlarrj.f   2009/04/16 19:09:59   1.1
+++ dlarrj.f   2009/06/02 18:35:20
@@ -46,7 +46,7 @@
 *  ILAST   (input) INTEGER
 *          The index of the last eigenvalue to be computed.
 *
-*  RTOL   (input) DOUBLE PRECISION
+*  RTOL    (input) DOUBLE PRECISION
 *          Tolerance for the convergence of the bisection intervals.
 *          An interval [LEFT,RIGHT] has converged if
 *          RIGHT-LEFT.LT.RTOL*MAX(|LEFT|,|RIGHT|).
--- dlarrv.f   2009/04/16 19:09:59   1.1
+++ dlarrv.f   2009/06/02 07:50:17
@@ -51,7 +51,7 @@
 *          is stored the corresponding shift as given by DLARRE.
 *          On exit, L is overwritten.
 *
-*  PIVMIN  (in) DOUBLE PRECISION
+*  PIVMIN  (input) DOUBLE PRECISION
 *          The minimum pivot allowed in the Sturm sequence.
 *
 *  ISPLIT  (input) INTEGER array, dimension (N)
--- dlarscl2.f   2009/04/16 19:09:59   1.1
+++ dlarscl2.f   2009/06/04 19:23:40
@@ -36,7 +36,7 @@
 *     N       (input) INTEGER
 *     The number of columns of D and X. N >= 0.
 *
-*     D       (input) DOUBLE PRECISION array, length M
+*     D       (input) DOUBLE PRECISION array, dimension (M)
 *     Diagonal matrix D, stored as a vector of length M.
 *
 *     X       (input/output) DOUBLE PRECISION array, dimension (LDX,N)
--- dlascl2.f   2009/04/16 19:09:59   1.1
+++ dlascl2.f   2009/06/04 19:24:31
@@ -36,7 +36,7 @@
 *     N       (input) INTEGER
 *     The number of columns of D and X. N >= 0.
 *
-*     D       (input) DOUBLE PRECISION array, length M
+*     D       (input) DOUBLE PRECISION array, dimension (M)
 *     Diagonal matrix D, stored as a vector of length M.
 *
 *     X       (input/output) DOUBLE PRECISION array, dimension (LDX,N)
--- dlatdf.f   2009/04/16 19:09:59   1.1
+++ dlatdf.f   2009/06/04 19:24:47
@@ -49,7 +49,7 @@
 *  LDZ     (input) INTEGER
 *          The leading dimension of the array Z.  LDA >= max(1, N).
 *
-*  RHS     (input/output) DOUBLE PRECISION array, dimension N.
+*  RHS     (input/output) DOUBLE PRECISION array, dimension (N)
 *          On entry, RHS contains contributions from other subsystems.
 *          On exit, RHS contains the solution of the subsystem with
 *          entries acoording to the value of IJOB (see above).
--- dpbequ.f   2009/04/16 19:09:59   1.1
+++ dpbequ.f   2009/06/02 18:35:55
@@ -47,7 +47,7 @@
 *          if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
 *          if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).
 *
-*  LDAB     (input) INTEGER
+*  LDAB    (input) INTEGER
 *          The leading dimension of the array A.  LDAB >= KD+1.
 *
 *  S       (output) DOUBLE PRECISION array, dimension (N)
--- dpftrf.f   2009/04/16 19:09:59   1.1
+++ dpftrf.f   2009/06/02 18:44:06
@@ -32,7 +32,7 @@
 *  Arguments
 *  =========
 *
-*  TRANSR    (input) CHARACTER
+*  TRANSR  (input) CHARACTER
 *          = 'N':  The Normal TRANSR of RFP A is stored;
 *          = 'T':  The Transpose TRANSR of RFP A is stored.
 *
--- dpftri.f   2009/04/16 19:09:59   1.1
+++ dpftri.f   2009/06/02 18:44:20
@@ -25,7 +25,7 @@
 *  Arguments
 *  =========
 *
-*  TRANSR    (input) CHARACTER
+*  TRANSR  (input) CHARACTER
 *          = 'N':  The Normal TRANSR of RFP A is stored;
 *          = 'T':  The Transpose TRANSR of RFP A is stored.
 *
--- dpftrs.f   2009/04/16 19:09:59   1.1
+++ dpftrs.f   2009/06/02 18:44:31
@@ -26,7 +26,7 @@
 *  Arguments
 *  =========
 *
-*  TRANSR    (input) CHARACTER
+*  TRANSR  (input) CHARACTER
 *          = 'N':  The Normal TRANSR of RFP A is stored;
 *          = 'T':  The Transpose TRANSR of RFP A is stored.
 *
--- dporfsx.f   2009/04/16 19:09:59   1.1
+++ dporfsx.f   2009/06/04 19:34:27
@@ -230,7 +230,7 @@
 *     Specifies the number of parameters set in PARAMS.  If .LE. 0, the
 *     PARAMS array is never referenced and default values are used.
 *
-*     PARAMS  (input / output) DOUBLE PRECISION array, dimension NPARAMS
+*     PARAMS  (input/output) DOUBLE PRECISION array, dimension (NPARAMS)
 *     Specifies algorithm parameters.  If an entry is .LT. 0.0, then
 *     that entry will be filled with default value used for that
 *     parameter.  Only positions up to NPARAMS are accessed; defaults
--- dposvxx.f   2008/11/17 08:10:08   1.1
+++ dposvxx.f   2009/06/04 19:34:43
@@ -324,7 +324,7 @@
 *     Specifies the number of parameters set in PARAMS.  If .LE. 0, the
 *     PARAMS array is never referenced and default values are used.
 *
-*     PARAMS  (input / output) DOUBLE PRECISION array, dimension NPARAMS
+*     PARAMS  (input/output) DOUBLE PRECISION array, dimension (NPARAMS)
 *     Specifies algorithm parameters.  If an entry is .LT. 0.0, then
 *     that entry will be filled with default value used for that
 *     parameter.  Only positions up to NPARAMS are accessed; defaults
--- dpstf2.f   2008/11/19 04:38:02   1.1
+++ dpstf2.f   2009/06/02 18:45:05
@@ -68,7 +68,7 @@
 *  LDA     (input) INTEGER
 *          The leading dimension of the array A.  LDA >= max(1,N).
 *
-*  WORK    DOUBLE PRECISION array, dimension (2*N)
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (2*N)
 *          Work space.
 *
 *  INFO    (output) INTEGER
--- dpstrf.f   2009/04/16 19:09:59   1.1
+++ dpstrf.f   2009/06/02 18:45:27
@@ -68,7 +68,7 @@
 *          will be used. The algorithm terminates at the (K-1)st step
 *          if the pivot <= TOL.
 *
-*  WORK    DOUBLE PRECISION array, dimension (2*N)
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (2*N)
 *          Work space.
 *
 *  INFO    (output) INTEGER
--- dsgesv.f   2009/04/16 19:09:59   1.1
+++ dsgesv.f   2009/06/03 22:21:52
@@ -94,7 +94,7 @@
 *  LDX     (input) INTEGER
 *          The leading dimension of the array X.  LDX >= max(1,N).
 *
-*  WORK    (workspace) DOUBLE PRECISION array, dimension (N*NRHS)
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (N,NRHS)
 *          This array is used to hold the residual vectors.
 *
 *  SWORK   (workspace) REAL array, dimension (N*(N+NRHS))
--- dspcon.f   2009/04/16 19:09:59   1.1
+++ dspcon.f   2009/06/02 18:45:52
@@ -59,7 +59,7 @@
 *
 *  WORK    (workspace) DOUBLE PRECISION array, dimension (2*N)
 *
-*  IWORK    (workspace) INTEGER array, dimension (N)
+*  IWORK   (workspace) INTEGER array, dimension (N)
 *
 *  INFO    (output) INTEGER
 *          = 0:  successful exit
--- dsposv.f   2008/11/19 04:17:30   1.1
+++ dsposv.f   2009/06/03 22:22:36
@@ -98,7 +98,7 @@
 *  LDX     (input) INTEGER
 *          The leading dimension of the array X.  LDX >= max(1,N).
 *
-*  WORK    (workspace) DOUBLE PRECISION array, dimension (N*NRHS)
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (N,NRHS)
 *          This array is used to hold the residual vectors.
 *
 *  SWORK   (workspace) REAL array, dimension (N*(N+NRHS))
--- dsycon.f   2009/04/16 19:09:59   1.1
+++ dsycon.f   2009/06/02 18:46:15
@@ -61,7 +61,7 @@
 *
 *  WORK    (workspace) DOUBLE PRECISION array, dimension (2*N)
 *
-*  IWORK    (workspace) INTEGER array, dimension (N)
+*  IWORK   (workspace) INTEGER array, dimension (N)
 *
 *  INFO    (output) INTEGER
 *          = 0:  successful exit
--- dsyequb.f   2009/04/16 19:09:59   1.1
+++ dsyequb.f   2009/06/02 18:50:46
@@ -34,6 +34,12 @@
 *  Arguments
 *  =========
 *
+*  UPLO    (input) CHARACTER*1
+*          Specifies whether the details of the factorization are stored
+*          as an upper or lower triangular matrix.
+*          = 'U':  Upper triangular, form is A = U*D*U**T;
+*          = 'L':  Lower triangular, form is A = L*D*L**T.
+*
 *  N       (input) INTEGER
 *          The order of the matrix A.  N >= 0.
 *
@@ -57,6 +63,9 @@
 *          Absolute value of largest matrix element.  If AMAX is very
 *          close to overflow or very close to underflow, the matrix
 *          should be scaled.
+*
+*  WORK    (workspace) DOUBLE PRECISION array, dimension (3*N)
+*
 *  INFO    (output) INTEGER
 *          = 0:  successful exit
 *          < 0:  if INFO = -i, the i-th argument had an illegal value
--- dsygvx.f   2009/04/16 19:09:59   1.1
+++ dsygvx.f   2009/06/03 22:23:15
@@ -68,7 +68,7 @@
 *  LDA     (input) INTEGER
 *          The leading dimension of the array A.  LDA >= max(1,N).
 *
-*  B       (input/output) DOUBLE PRECISION array, dimension (LDA, N)
+*  B       (input/output) DOUBLE PRECISION array, dimension (LDB, N)
 *          On entry, the symmetric matrix B.  If UPLO = 'U', the
 *          leading N-by-N upper triangular part of B contains the
 *          upper triangular part of the matrix B.  If UPLO = 'L',
--- dsyrfsx.f   2009/04/16 19:09:59   1.1
+++ dsyrfsx.f   2009/06/04 19:35:01
@@ -235,7 +235,7 @@
 *     Specifies the number of parameters set in PARAMS.  If .LE. 0, the
 *     PARAMS array is never referenced and default values are used.
 *
-*     PARAMS  (input / output) DOUBLE PRECISION array, dimension NPARAMS
+*     PARAMS  (input/output) DOUBLE PRECISION array, dimension (NPARAMS)
 *     Specifies algorithm parameters.  If an entry is .LT. 0.0, then
 *     that entry will be filled with default value used for that
 *     parameter.  Only positions up to NPARAMS are accessed; defaults
--- dsysvxx.f   2009/04/16 19:09:59   1.1
+++ dsysvxx.f   2009/06/04 19:35:18
@@ -332,7 +332,7 @@
 *     Specifies the number of parameters set in PARAMS.  If .LE. 0, the
 *     PARAMS array is never referenced and default values are used.
 *
-*     PARAMS  (input / output) DOUBLE PRECISION array, dimension NPARAMS
+*     PARAMS  (input/output) DOUBLE PRECISION array, dimension (NPARAMS)
 *     Specifies algorithm parameters.  If an entry is .LT. 0.0, then
 *     that entry will be filled with default value used for that
 *     parameter.  Only positions up to NPARAMS are accessed; defaults
--- dtftri.f   2009/04/16 19:09:59   1.1
+++ dtftri.f   2009/06/02 18:51:23
@@ -27,7 +27,7 @@
 *  Arguments
 *  =========
 *
-*  TRANSR    (input) CHARACTER
+*  TRANSR  (input) CHARACTER
 *          = 'N':  The Normal TRANSR of RFP A is stored;
 *          = 'T':  The Transpose TRANSR of RFP A is stored.
 *
--- dtfttp.f   2009/04/16 19:09:59   1.1
+++ dtfttp.f   2009/06/02 18:51:42
@@ -26,7 +26,7 @@
 *  Arguments
 *  =========
 *
-*  TRANSR   (input) CHARACTER
+*  TRANSR  (input) CHARACTER
 *          = 'N':  ARF is in Normal format;
 *          = 'T':  ARF is in Transpose format;
 *
--- dtfttr.f   2009/04/16 19:09:59   1.1
+++ dtfttr.f   2009/06/02 18:51:58
@@ -25,7 +25,7 @@
 *  Arguments
 *  =========
 *
-*  TRANSR   (input) CHARACTER
+*  TRANSR  (input) CHARACTER
 *          = 'N':  ARF is in Normal format;
 *          = 'T':  ARF is in Transpose format.
 *
--- dtgex2.f   2009/04/16 19:09:59   1.1
+++ dtgex2.f   2009/06/04 19:06:30
@@ -47,21 +47,21 @@
 *  N       (input) INTEGER
 *          The order of the matrices A and B. N >= 0.
 *
-*  A      (input/output) DOUBLE PRECISION arrays, dimensions (LDA,N)
+*  A       (input/output) DOUBLE PRECISION array, dimensions (LDA,N)
 *          On entry, the matrix A in the pair (A, B).
 *          On exit, the updated matrix A.
 *
-*  LDA     (input)  INTEGER
+*  LDA     (input) INTEGER
 *          The leading dimension of the array A. LDA >= max(1,N).
 *
-*  B      (input/output) DOUBLE PRECISION arrays, dimensions (LDB,N)
+*  B       (input/output) DOUBLE PRECISION array, dimensions (LDB,N)
 *          On entry, the matrix B in the pair (A, B).
 *          On exit, the updated matrix B.
 *
-*  LDB     (input)  INTEGER
+*  LDB     (input) INTEGER
 *          The leading dimension of the array B. LDB >= max(1,N).
 *
-*  Q       (input/output) DOUBLE PRECISION array, dimension (LDZ,N)
+*  Q       (input/output) DOUBLE PRECISION array, dimension (LDQ,N)
 *          On entry, if WANTQ = .TRUE., the orthogonal matrix Q.
 *          On exit, the updated matrix Q.
 *          Not referenced if WANTQ = .FALSE..
--- dtgexc.f   2009/04/16 19:09:59   1.1
+++ dtgexc.f   2009/06/03 22:24:37
@@ -57,7 +57,7 @@
 *          On exit, the updated matrix A, again in generalized
 *          real Schur canonical form.
 *
-*  LDA     (input)  INTEGER
+*  LDA     (input) INTEGER
 *          The leading dimension of the array A. LDA >= max(1,N).
 *
 *  B       (input/output) DOUBLE PRECISION array, dimension (LDB,N)
@@ -66,10 +66,10 @@
 *          On exit, the updated matrix B, again in generalized
 *          real Schur canonical form (A,B).
 *
-*  LDB     (input)  INTEGER
+*  LDB     (input) INTEGER
 *          The leading dimension of the array B. LDB >= max(1,N).
 *
-*  Q       (input/output) DOUBLE PRECISION array, dimension (LDZ,N)
+*  Q       (input/output) DOUBLE PRECISION array, dimension (LDQ,N)
 *          On entry, if WANTQ = .TRUE., the orthogonal matrix Q.
 *          On exit, the updated matrix Q.
 *          If WANTQ = .FALSE., Q is not referenced.
--- dtpttf.f   2009/04/16 19:09:59   1.1
+++ dtpttf.f   2009/06/02 18:53:18
@@ -25,7 +25,7 @@
 *  Arguments
 *  =========
 *
-*  TRANSR   (input) CHARACTER
+*  TRANSR  (input) CHARACTER
 *          = 'N':  ARF in Normal format is wanted;
 *          = 'T':  ARF in Conjugate-transpose format is wanted.
 *
--- dtrttf.f   2009/04/16 19:09:59   1.1
+++ dtrttf.f   2009/06/02 18:53:35
@@ -25,7 +25,7 @@
 *  Arguments
 *  =========
 *
-*  TRANSR   (input) CHARACTER
+*  TRANSR  (input) CHARACTER
 *          = 'N':  ARF in Normal form is wanted;
 *          = 'T':  ARF in Transpose form is wanted.
 *
--- ilaprec.f   2009/04/16 19:09:59   1.1
+++ ilaprec.f   2009/06/03 20:23:40
@@ -24,7 +24,7 @@
 *
 *  Arguments
 *  =========
-*  PREC   (input) CHARACTER*1
+*  PREC    (input) CHARACTER*1
 *          Specifies the form of the system of equations:
 *          = 'S':  Single
 *          = 'D':  Double
--- ilaslr.f   2009/04/16 19:09:59   1.1
+++ ilaslr.f   2009/06/04 19:13:11
@@ -29,7 +29,7 @@
 *  N       (input) INTEGER
 *          The number of columns of the matrix A.
 *
-*  A       (input) REAL             array, dimension (LDA,N)
+*  A       (input) REAL array, dimension (LDA,N)
 *          The m by n matrix A.
 *
 *  LDA     (input) INTEGER
--- sisnan.f   2009/04/16 19:09:59   1.1
+++ sisnan.f   2009/06/04 04:35:41
@@ -19,7 +19,7 @@
 *  Arguments
 *  =========
 *
-*  SIN      (input) REAL
+*  SIN     (input) REAL
 *          Input to test for NaN.
 *
 *  =====================================================================
Last edited by jan-lapack on Tue Sep 08, 2009 3:28 pm, edited 1 time in total.
jan-lapack
 
Posts: 2
Joined: Tue Jun 02, 2009 4:22 am

Re: Lapack comments improvements

Postby Julien Langou » Mon Sep 07, 2009 4:16 pm

Thanks for the bug report. This is bug0031 in the LAPACK Errata (http://www.netlib.org/lapack/Errata/). We will try to fix it for the next release.
Julien
Julien Langou
 
Posts: 734
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA


Return to User Discussion

Who is online

Users browsing this forum: Bing [Bot], Exabot [Bot], Yahoo [Bot] and 3 guests