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 10cf167eb64021743b438312d6f036fab0849423..8835a54368ddbdef1986df8005f89194ed007c4b 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 110b0fcb56d68bdd4e5277677d54c02a9526a9c4..1a3200108bb6ac570e3cdfc9682be9760df792ab 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 90ada2f7c573905b528a1d12d09d54abd279138a..fa476e008afc88566ee3fad6919d6bc6d28c9f17 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 9fc539c861b3c0711bd6a63b08f9d58189cfce5d..9697f57ec514f267a472f779f1a97ad4f148ece9 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 25980ad9bd6e3bcb7b5e20f5ff9c3a7fd6ea8fb3..dfefb286a23d7befd00210b6c26c1c215f5d51da 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 7ea308b225a4ba346a726ecd175bff5c76617369..948f6eecf0d6ea618cb358a632bfae07e155644d 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
 *