fixing lwork for Aasen's (lwork > 0).
authorIchitaro Yamazaki <iyamazak@bunsen.icl.utk.edu>
Thu, 17 Nov 2016 21:25:09 +0000 (16:25 -0500)
committerIchitaro Yamazaki <iyamazak@bunsen.icl.utk.edu>
Thu, 17 Nov 2016 21:25:09 +0000 (16:25 -0500)
16 files changed:
SRC/chesv_aa.f
SRC/chetrs_aa.f
SRC/csytrf_aa.f
SRC/csytrs_aa.f
SRC/dsysv_aa.f
SRC/dsytrf_aa.f
SRC/dsytrs_aa.f
SRC/ssysv_aa.f
SRC/ssytrf_aa.f
SRC/ssytrs_aa.f
SRC/zhesv_aa.f
SRC/zhetrf_aa.f
SRC/zhetrs_aa.f
SRC/zsysv_aa.f
SRC/zsytrf_aa.f
SRC/zsytrs_aa.f

index 621ae1f..642c993 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >= 1, and for best performance
-*>          LWORK >= max(1,N*NB), where NB is the optimal blocksize for
-*>          CHETRF.
+*>          The length of WORK.  LWORK >= MAX(1,2*N,3*N-2), and for best 
+*>          performance LWORK >= MAX(1,N*NB), where NB is the optimal
+*>          blocksize for CHETRF.
 *>          for LWORK < N, TRS will be done with Level BLAS 2
 *>          for LWORK >= N, TRS will be done with Level BLAS 3
 *>
index 11f19d6..ef55c8f 100644 (file)
 *>
 *> \param[in] LWORK
 *> \verbatim
-*>          LWORK is INTEGER, LWORK >= 3*N-2.
+*>          LWORK is INTEGER, LWORK >= MAX(1,3*N-2).
 *>
 *> \param[out] INFO
 *> \verbatim
          INFO = -5
       ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
          INFO = -8
-      ELSE IF( LWORK.LT.(3*N-2) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 3*N-2 ) .AND. .NOT.LQUERY ) THEN
          INFO = -10
       END IF
       IF( INFO.NE.0 ) THEN
index 20aa5ba..c6b7613 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >=2*N. For optimum performance
+*>          The length of WORK. LWORK >= MAX(1,2*N). For optimum performance
 *>          LWORK >= N*(1+NB), where NB is the optimal blocksize.
 *>
 *>          If LWORK = -1, then a workspace query is assumed; the routine
          INFO = -2
       ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
          INFO = -4
-      ELSE IF( LWORK.LT.( 2*N ) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 2*N ) .AND. .NOT.LQUERY ) THEN
          INFO = -7
       END IF
 *
index 5f21078..fd75ba4 100644 (file)
 *>
 *> \param[in] LWORK
 *> \verbatim
-*>          LWORK is INTEGER, LWORK >= 3*N-2.
+*>          LWORK is INTEGER, LWORK >= MAX(1,3*N-2).
 *>
 *> \param[out] INFO
 *> \verbatim
          INFO = -5
       ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
          INFO = -8
-      ELSE IF( LWORK.LT.(3*N-2) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 3*N-2 ) .AND. .NOT.LQUERY ) THEN
          INFO = -10
       END IF
       IF( INFO.NE.0 ) THEN
index cb6b28e..055097f 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >= MAX(2*N, 3*N-2), and for
-*>          the best performance, LWORK >= max(1,N*NB), where NB is
+*>          The length of WORK.  LWORK >= MAX(1,2*N,3*N-2), and for
+*>          the best performance, LWORK >= MAX(1,N*NB), where NB is
 *>          the optimal blocksize for DSYTRF_AA.
 *>
 *>          If LWORK = -1, then a workspace query is assumed; the routine
index 07919a2..0e03880 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >=2*N. For optimum performance
+*>          The length of WORK.  LWORK >= MAX(1,2*N). For optimum performance
 *>          LWORK >= N*(1+NB), where NB is the optimal blocksize.
 *>
 *>          If LWORK = -1, then a workspace query is assumed; the routine
          INFO = -2
       ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
          INFO = -4
-      ELSE IF( LWORK.LT.( 2*N ) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 2*N ) .AND. .NOT.LQUERY ) THEN
          INFO = -7
       END IF
 *
index ddb9d3f..6c56b91 100644 (file)
 *>
 *> \param[in] LWORK
 *> \verbatim
-*>          LWORK is INTEGER, LWORK >= 3*N-2.
+*>          LWORK is INTEGER, LWORK >= MAX(1,3*N-2).
 *>
 *> \param[out] INFO
 *> \verbatim
          INFO = -5
       ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
          INFO = -8
-      ELSE IF( LWORK.LT.(3*N-2) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 3*N-2 ) .AND. .NOT.LQUERY ) THEN
          INFO = -10
       END IF
       IF( INFO.NE.0 ) THEN
index 3dcc7cb..d61a346 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >= MAX(2*N, 3*N-2), and for
-*>          the best performance, LWORK >= max(1,N*NB), where NB is
+*>          The length of WORK.  LWORK >= MAX(1,2*N,3*N-2), and for
+*>          the best performance, LWORK >= MAX(1,N*NB), where NB is
 *>          the optimal blocksize for SSYTRF_AA.
 *>
 *>          If LWORK = -1, then a workspace query is assumed; the routine
index 13498c9..a22ff05 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >=2*N. For optimum performance
+*>          The length of WORK.  LWORK >= MAX(1,2*N). For optimum performance
 *>          LWORK >= N*(1+NB), where NB is the optimal blocksize.
 *>
 *>          If LWORK = -1, then a workspace query is assumed; the routine
          INFO = -2
       ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
          INFO = -4
-      ELSE IF( LWORK.LT.( 2*N ) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 2*N ) .AND. .NOT.LQUERY ) THEN
          INFO = -7
       END IF
 *
index 06c793a..911016e 100644 (file)
 *>
 *> \param[in] LWORK
 *> \verbatim
-*>          LWORK is INTEGER, LWORK >= 3*N-2.
+*>          LWORK is INTEGER, LWORK >= MAX(1,3*N-2).
 *>
 *> \param[out] INFO
 *> \verbatim
          INFO = -5
       ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
          INFO = -8
-      ELSE IF( LWORK.LT.(3*N-2) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 3*N-2 ) .AND. .NOT.LQUERY ) THEN
          INFO = -10
       END IF
       IF( INFO.NE.0 ) THEN
index 285c971..dffa475 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >= 1, and for best performance
-*>          LWORK >= max(1,N*NB), where NB is the optimal blocksize for
-*>          ZHETRF.
+*>          The length of WORK.  LWORK >= MAX(1,2*N,3*N-2), and for best 
+*>          performance LWORK >= max(1,N*NB), where NB is the optimal
+*>          blocksize for ZHETRF.
 *>          for LWORK < N, TRS will be done with Level BLAS 2
 *>          for LWORK >= N, TRS will be done with Level BLAS 3
 *>
index adaae91..a3dd095 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >= 2*N. For optimum performance
+*>          The length of WORK. LWORK >= MAX(1,2*N). For optimum performance
 *>          LWORK >= N*(1+NB), where NB is the optimal blocksize.
 *>
 *>          If LWORK = -1, then a workspace query is assumed; the routine
          INFO = -2
       ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
          INFO = -4
-      ELSE IF( LWORK.LT.( 2*N ) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 2*N ) .AND. .NOT.LQUERY ) THEN
          INFO = -7
       END IF
 *
index e5487ff..0a02b8a 100644 (file)
 *>
 *> \param[in] LWORK
 *> \verbatim
-*>          LWORK is INTEGER, LWORK >= 3*N-2.
+*>          LWORK is INTEGER, LWORK >= MAX(1,3*N-2).
 *>
 *> \param[out] INFO
 *> \verbatim
          INFO = -5
       ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
          INFO = -8
-      ELSE IF( LWORK.LT.(3*N-2) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 3*N-2 ) .AND. .NOT.LQUERY ) THEN
          INFO = -10
       END IF
       IF( INFO.NE.0 ) THEN
index f1d1f76..6c76714 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >= MAX(2*N, 3*N-2), and for
-*>          the best performance, LWORK >= max(1,N*NB), where NB is
+*>          The length of WORK.  LWORK >= MAX(1,2*N,3*N-2), and for
+*>          the best performance, LWORK >= MAX(1,N*NB), where NB is
 *>          the optimal blocksize for ZSYTRF_AA.
 *>
 *>          If LWORK = -1, then a workspace query is assumed; the routine
index 4e9851a..f82e513 100644 (file)
 *> \param[in] LWORK
 *> \verbatim
 *>          LWORK is INTEGER
-*>          The length of WORK.  LWORK >=2*N. For optimum performance
+*>          The length of WORK. LWORK >=MAX(1,2*N). For optimum performance
 *>          LWORK >= N*(1+NB), where NB is the optimal blocksize.
 *>
 *>          If LWORK = -1, then a workspace query is assumed; the routine
          INFO = -2
       ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
          INFO = -4
-      ELSE IF( LWORK.LT.( 2*N ) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 2*N ) .AND. .NOT.LQUERY ) THEN
          INFO = -7
       END IF
 *
index b9a2ab8..cae83a7 100644 (file)
 *>
 *> \param[in] LWORK
 *> \verbatim
-*>          LWORK is INTEGER, LWORK >= 3*N-2.
+*>          LWORK is INTEGER, LWORK >= MAX(1,3*N-2).
 *>
 *> \param[out] INFO
 *> \verbatim
          INFO = -5
       ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
          INFO = -8
-      ELSE IF( LWORK.LT.(3*N-2) .AND. .NOT.LQUERY ) THEN
+      ELSE IF( LWORK.LT.MAX( 1, 3*N-2 ) .AND. .NOT.LQUERY ) THEN
          INFO = -10
       END IF
       IF( INFO.NE.0 ) THEN