bug: fixes always failing tests for *TREXC which was erroneous tests
authorNick Papior <nickpapior@gmail.com>
Sun, 18 Sep 2016 13:21:11 +0000 (15:21 +0200)
committerNick Papior <nickpapior@gmail.com>
Sun, 18 Sep 2016 13:21:11 +0000 (15:21 +0200)
There where checks for *TREXC for the argument of N = 0 with a return value
of -7. However, the documentation of the *TREXC routines specify that
N = 0 is a valid argument with instant return.

Hence the checks have been removed and the quick returns established in the
affected routines.

Also comments for [dz]errec.f files are fixed.

Signed-off-by: Nick Papior <nickpapior@gmail.com>
SRC/ctrexc.f
SRC/ztrexc.f
TESTING/EIG/cerrec.f
TESTING/EIG/derrec.f
TESTING/EIG/serrec.f
TESTING/EIG/zerrec.f

index 10cf167..8835a54 100644 (file)
 *
 *     Quick return if possible
 *
-      IF( N.EQ.1 .OR. IFST.EQ.ILST )
+      IF( N.LE.1 .OR. IFST.EQ.ILST )
      $   RETURN
 *
       IF( IFST.LT.ILST ) THEN
index 110b0fc..1a32001 100644 (file)
 *
 *     Quick return if possible
 *
-      IF( N.EQ.1 .OR. IFST.EQ.ILST )
+      IF( N.LE.1 .OR. IFST.EQ.ILST )
      $   RETURN
 *
       IF( IFST.LT.ILST ) THEN
index 90ada2f..fa476e0 100644 (file)
       INFOT = 1
       CALL CTREXC( 'X', 1, A, 1, B, 1, IFST, ILST, INFO )
       CALL CHKXER( 'CTREXC', INFOT, NOUT, LERR, OK )
-      INFOT = 7
-      CALL CTREXC( 'N', 0, A, 1, B, 1, IFST, ILST, INFO )
-      CALL CHKXER( 'CTREXC', INFOT, NOUT, LERR, OK )
       INFOT = 4
       ILST = 2
       CALL CTREXC( 'N', 2, A, 1, B, 1, IFST, ILST, INFO )
       ILST = 2
       CALL CTREXC( 'V', 1, A, 1, B, 1, IFST, ILST, INFO )
       CALL CHKXER( 'CTREXC', INFOT, NOUT, LERR, OK )
-      NT = NT + 8
+      NT = NT + 7
 *
 *     Test CTRSNA
 *
index 9fc539c..9697f57 100644 (file)
@@ -23,7 +23,7 @@
 *>
 *> DERREC tests the error exits for the routines for eigen- condition
 *> estimation for DOUBLE PRECISION matrices:
-*>    DTRSYL, STREXC, STRSNA and STRSEN.
+*>    DTRSYL, DTREXC, DTRSNA and DTRSEN.
 *> \endverbatim
 *
 *  Arguments:
       INFOT = 1
       CALL DTREXC( 'X', 1, A, 1, B, 1, IFST, ILST, WORK, INFO )
       CALL CHKXER( 'DTREXC', INFOT, NOUT, LERR, OK )
-      INFOT = 7
-      CALL DTREXC( 'N', 0, A, 1, B, 1, IFST, ILST, WORK, INFO )
-      CALL CHKXER( 'DTREXC', INFOT, NOUT, LERR, OK )
       INFOT = 4
       ILST = 2
       CALL DTREXC( 'N', 2, A, 1, B, 1, IFST, ILST, WORK, INFO )
       ILST = 2
       CALL DTREXC( 'V', 1, A, 1, B, 1, IFST, ILST, WORK, INFO )
       CALL CHKXER( 'DTREXC', INFOT, NOUT, LERR, OK )
-      NT = NT + 8
+      NT = NT + 7
 *
 *     Test DTRSNA
 *
index 25980ad..dfefb28 100644 (file)
       INFOT = 1
       CALL STREXC( 'X', 1, A, 1, B, 1, IFST, ILST, WORK, INFO )
       CALL CHKXER( 'STREXC', INFOT, NOUT, LERR, OK )
-      INFOT = 7
-      CALL STREXC( 'N', 0, A, 1, B, 1, IFST, ILST, WORK, INFO )
-      CALL CHKXER( 'STREXC', INFOT, NOUT, LERR, OK )
       INFOT = 4
       ILST = 2
       CALL STREXC( 'N', 2, A, 1, B, 1, IFST, ILST, WORK, INFO )
       ILST = 2
       CALL STREXC( 'V', 1, A, 1, B, 1, IFST, ILST, WORK, INFO )
       CALL CHKXER( 'STREXC', INFOT, NOUT, LERR, OK )
-      NT = NT + 8
+      NT = NT + 7
 *
 *     Test STRSNA
 *
index 7ea308b..948f6ee 100644 (file)
@@ -23,7 +23,7 @@
 *>
 *> ZERREC tests the error exits for the routines for eigen- condition
 *> estimation for DOUBLE PRECISION matrices:
-*>    ZTRSYL, CTREXC, CTRSNA and CTRSEN.
+*>    ZTRSYL, ZTREXC, ZTRSNA and ZTRSEN.
 *> \endverbatim
 *
 *  Arguments:
       INFOT = 1
       CALL ZTREXC( 'X', 1, A, 1, B, 1, IFST, ILST, INFO )
       CALL CHKXER( 'ZTREXC', INFOT, NOUT, LERR, OK )
-      INFOT = 7
-      CALL ZTREXC( 'N', 0, A, 1, B, 1, IFST, ILST, INFO )
-      CALL CHKXER( 'ZTREXC', INFOT, NOUT, LERR, OK )
       INFOT = 4
       ILST = 2
       CALL ZTREXC( 'N', 2, A, 1, B, 1, IFST, ILST, INFO )
       ILST = 2
       CALL ZTREXC( 'V', 1, A, 1, B, 1, IFST, ILST, INFO )
       CALL CHKXER( 'ZTREXC', INFOT, NOUT, LERR, OK )
-      NT = NT + 8
+      NT = NT + 7
 *
 *     Test ZTRSNA
 *