From 87c31223b1a90302bf75ee3f6f58c84233bf5cec Mon Sep 17 00:00:00 2001 From: Nick Papior Date: Sun, 18 Sep 2016 15:21:11 +0200 Subject: bug: fixes always failing tests for *TREXC which was erroneous tests 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 --- TESTING/EIG/cerrec.f | 5 +---- TESTING/EIG/derrec.f | 7 ++----- TESTING/EIG/serrec.f | 5 +---- TESTING/EIG/zerrec.f | 7 ++----- 4 files changed, 6 insertions(+), 18 deletions(-) (limited to 'TESTING') diff --git a/TESTING/EIG/cerrec.f b/TESTING/EIG/cerrec.f index 90ada2f7..fa476e00 100644 --- a/TESTING/EIG/cerrec.f +++ b/TESTING/EIG/cerrec.f @@ -152,9 +152,6 @@ 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 ) @@ -180,7 +177,7 @@ 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 * diff --git a/TESTING/EIG/derrec.f b/TESTING/EIG/derrec.f index 9fc539c8..9697f57e 100644 --- a/TESTING/EIG/derrec.f +++ b/TESTING/EIG/derrec.f @@ -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: @@ -152,9 +152,6 @@ 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 ) @@ -180,7 +177,7 @@ 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 * diff --git a/TESTING/EIG/serrec.f b/TESTING/EIG/serrec.f index 25980ad9..dfefb286 100644 --- a/TESTING/EIG/serrec.f +++ b/TESTING/EIG/serrec.f @@ -152,9 +152,6 @@ 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 ) @@ -180,7 +177,7 @@ 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 * diff --git a/TESTING/EIG/zerrec.f b/TESTING/EIG/zerrec.f index 7ea308b2..948f6eec 100644 --- a/TESTING/EIG/zerrec.f +++ b/TESTING/EIG/zerrec.f @@ -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: @@ -152,9 +152,6 @@ 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 ) @@ -180,7 +177,7 @@ 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 * -- cgit v1.2.3 From 6e44a0335285d6876b87bee32d65586272b0ec8d Mon Sep 17 00:00:00 2001 From: Nick Papior Date: Sun, 18 Sep 2016 20:11:41 +0200 Subject: test: added N<0 test for *TREXC Per the previous commit and Julien, this commit came. Also added documentation of how arguments are tracked in case N==0. Signed-off-by: Nick Papior --- TESTING/EIG/cerrec.f | 5 ++++- TESTING/EIG/derrec.f | 5 ++++- TESTING/EIG/serrec.f | 5 ++++- TESTING/EIG/zerrec.f | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) (limited to 'TESTING') diff --git a/TESTING/EIG/cerrec.f b/TESTING/EIG/cerrec.f index fa476e00..3396e3d5 100644 --- a/TESTING/EIG/cerrec.f +++ b/TESTING/EIG/cerrec.f @@ -152,6 +152,9 @@ INFOT = 1 CALL CTREXC( 'X', 1, A, 1, B, 1, IFST, ILST, INFO ) CALL CHKXER( 'CTREXC', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL CTREXC( 'N', -1, 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 ) @@ -177,7 +180,7 @@ ILST = 2 CALL CTREXC( 'V', 1, A, 1, B, 1, IFST, ILST, INFO ) CALL CHKXER( 'CTREXC', INFOT, NOUT, LERR, OK ) - NT = NT + 7 + NT = NT + 8 * * Test CTRSNA * diff --git a/TESTING/EIG/derrec.f b/TESTING/EIG/derrec.f index 9697f57e..bbf23e34 100644 --- a/TESTING/EIG/derrec.f +++ b/TESTING/EIG/derrec.f @@ -152,6 +152,9 @@ INFOT = 1 CALL DTREXC( 'X', 1, A, 1, B, 1, IFST, ILST, WORK, INFO ) CALL CHKXER( 'DTREXC', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL DTREXC( 'N', -1, 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 ) @@ -177,7 +180,7 @@ ILST = 2 CALL DTREXC( 'V', 1, A, 1, B, 1, IFST, ILST, WORK, INFO ) CALL CHKXER( 'DTREXC', INFOT, NOUT, LERR, OK ) - NT = NT + 7 + NT = NT + 8 * * Test DTRSNA * diff --git a/TESTING/EIG/serrec.f b/TESTING/EIG/serrec.f index dfefb286..60ed916d 100644 --- a/TESTING/EIG/serrec.f +++ b/TESTING/EIG/serrec.f @@ -152,6 +152,9 @@ INFOT = 1 CALL STREXC( 'X', 1, A, 1, B, 1, IFST, ILST, WORK, INFO ) CALL CHKXER( 'STREXC', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL STREXC( 'N', -1, 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 ) @@ -177,7 +180,7 @@ ILST = 2 CALL STREXC( 'V', 1, A, 1, B, 1, IFST, ILST, WORK, INFO ) CALL CHKXER( 'STREXC', INFOT, NOUT, LERR, OK ) - NT = NT + 7 + NT = NT + 8 * * Test STRSNA * diff --git a/TESTING/EIG/zerrec.f b/TESTING/EIG/zerrec.f index 948f6eec..6c7cdcc9 100644 --- a/TESTING/EIG/zerrec.f +++ b/TESTING/EIG/zerrec.f @@ -152,6 +152,9 @@ INFOT = 1 CALL ZTREXC( 'X', 1, A, 1, B, 1, IFST, ILST, INFO ) CALL CHKXER( 'ZTREXC', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL ZTREXC( 'N', -1, 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 ) @@ -177,7 +180,7 @@ ILST = 2 CALL ZTREXC( 'V', 1, A, 1, B, 1, IFST, ILST, INFO ) CALL CHKXER( 'ZTREXC', INFOT, NOUT, LERR, OK ) - NT = NT + 7 + NT = NT + 8 * * Test ZTRSNA * -- cgit v1.2.3