Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add missing error exit checks for nep
* add tests of TREVC3
* add workspace test for [DS]HSEQR that was already implemented for [CZ]HSEQR
  • Loading branch information
angsch committed May 25, 2022
commit b9b3c787fbc3c7d41e98340264c4986554f1c422
45 changes: 43 additions & 2 deletions TESTING/EIG/cerrhs.f
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
*> \verbatim
*>
*> CERRHS tests the error exits for CGEBAK, CGEBAL, CGEHRD, CUNGHR,
*> CUNMHR, CHSEQR, CHSEIN, and CTREVC.
*> CUNMHR, CHSEQR, CHSEIN, CTREVC, and CTREVC3.
*> \endverbatim
*
* Arguments:
Expand Down Expand Up @@ -86,7 +86,7 @@ SUBROUTINE CERRHS( PATH, NUNIT )
* ..
* .. External Subroutines ..
EXTERNAL CHKXER, CGEBAK, CGEBAL, CGEHRD, CHSEIN, CHSEQR,
$ CUNGHR, CUNMHR, CTREVC
$ CUNGHR, CUNMHR, CTREVC, CTREVC3
* ..
* .. Intrinsic Functions ..
INTRINSIC REAL
Expand Down Expand Up @@ -398,6 +398,47 @@ SUBROUTINE CERRHS( PATH, NUNIT )
$ RW, INFO )
CALL CHKXER( 'CTREVC', INFOT, NOUT, LERR, OK )
NT = NT + 7
*
* CTREVC3
*
SRNAMT = 'CTREVC3'
INFOT = 1
CALL CTREVC3( '/', 'A', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, RW, 1, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 2
CALL CTREVC3( 'L', '/', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, RW, 1, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 4
CALL CTREVC3( 'L', 'A', SEL, -1, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, RW, 1, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 6
CALL CTREVC3( 'L', 'A', SEL, 2, A, 1, VL, 2, VR, 1, 4, M, W,
$ LW, RW, 2, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 8
CALL CTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W,
$ LW, RW, 2, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 10
CALL CTREVC3( 'R', 'A', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W,
$ LW, RW, 2, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 11
CALL CTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 1, M, W,
$ LW, RW, 2, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 14
CALL CTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 2, M, W,
$ 2, RW, 2, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 16
CALL CTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 2, M, W,
$ LW, RW, 1, INFO )
CALL CHKXER( 'CTREVC3', INFOT, NOUT, LERR, OK )
NT = NT + 9
END IF
*
* Print a summary line.
Expand Down
49 changes: 45 additions & 4 deletions TESTING/EIG/derrhs.f
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
*>
*> \verbatim
*>
*> DERRHS tests the error exits for DGEBAK, SGEBAL, SGEHRD, DORGHR,
*> DORMHR, DHSEQR, SHSEIN, and DTREVC.
*> DERRHS tests the error exits for DGEBAK, DGEBAL, DGEHRD, DORGHR,
*> DORMHR, DHSEQR, DHSEIN, DTREVC, and DTREVC3.
*> \endverbatim
*
* Arguments:
Expand Down Expand Up @@ -86,7 +86,7 @@ SUBROUTINE DERRHS( PATH, NUNIT )
* ..
* .. External Subroutines ..
EXTERNAL CHKXER, DGEBAK, DGEBAL, DGEHRD, DHSEIN, DHSEQR,
$ DORGHR, DORMHR, DTREVC
$ DORGHR, DORMHR, DTREVC, DTREVC3
* ..
* .. Intrinsic Functions ..
INTRINSIC DBLE
Expand Down Expand Up @@ -328,7 +328,11 @@ SUBROUTINE DERRHS( PATH, NUNIT )
CALL DHSEQR( 'E', 'V', 2, 1, 2, A, 2, WR, WI, C, 1, W, 1,
$ INFO )
CALL CHKXER( 'DHSEQR', INFOT, NOUT, LERR, OK )
NT = NT + 9
INFOT = 13
CALL DHSEQR( 'E', 'N', 2, 1, 2, A, 2, WR, WI, C, 1, W, 1,
$ INFO )
CALL CHKXER( 'DHSEQR', INFOT, NOUT, LERR, OK )
NT = NT + 10
*
* DHSEIN
*
Expand Down Expand Up @@ -399,6 +403,43 @@ SUBROUTINE DERRHS( PATH, NUNIT )
$ INFO )
CALL CHKXER( 'DTREVC', INFOT, NOUT, LERR, OK )
NT = NT + 7
*
* DTREVC3
*
SRNAMT = 'DTREVC3'
INFOT = 1
CALL DTREVC3( '/', 'A', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, INFO )
CALL CHKXER( 'DTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 2
CALL DTREVC3( 'L', '/', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, INFO )
CALL CHKXER( 'DTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 4
CALL DTREVC3( 'L', 'A', SEL, -1, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, INFO )
CALL CHKXER( 'DTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 6
CALL DTREVC3( 'L', 'A', SEL, 2, A, 1, VL, 2, VR, 1, 4, M, W,
$ LW, INFO )
CALL CHKXER( 'DTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 8
CALL DTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W,
$ LW, INFO )
CALL CHKXER( 'DTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 10
CALL DTREVC3( 'R', 'A', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W,
$ LW, INFO )
CALL CHKXER( 'DTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 11
CALL DTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 1, M, W,
$ LW, INFO )
CALL CHKXER( 'DTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 14
CALL DTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 2, M, W,
$ 2, INFO )
CALL CHKXER( 'DTREVC3', INFOT, NOUT, LERR, OK )
NT = NT + 8
END IF
*
* Print a summary line.
Expand Down
47 changes: 44 additions & 3 deletions TESTING/EIG/serrhs.f
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
*> \verbatim
*>
*> SERRHS tests the error exits for SGEBAK, SGEBAL, SGEHRD, SORGHR,
*> SORMHR, SHSEQR, SHSEIN, and STREVC.
*> SORMHR, SHSEQR, SHSEIN, STREVC, and STREVC3.
*> \endverbatim
*
* Arguments:
Expand Down Expand Up @@ -85,7 +85,7 @@ SUBROUTINE SERRHS( PATH, NUNIT )
* ..
* .. External Subroutines ..
EXTERNAL CHKXER, SGEBAK, SGEBAL, SGEHRD, SHSEIN, SHSEQR,
$ SORGHR, SORMHR, STREVC
$ SORGHR, SORMHR, STREVC, STREVC3
* ..
* .. Intrinsic Functions ..
INTRINSIC REAL
Expand Down Expand Up @@ -327,7 +327,11 @@ SUBROUTINE SERRHS( PATH, NUNIT )
CALL SHSEQR( 'E', 'V', 2, 1, 2, A, 2, WR, WI, C, 1, W, 1,
$ INFO )
CALL CHKXER( 'SHSEQR', INFOT, NOUT, LERR, OK )
NT = NT + 9
INFOT = 13
CALL SHSEQR( 'E', 'N', 2, 1, 2, A, 2, WR, WI, C, 1, W, 1,
$ INFO )
CALL CHKXER( 'SHSEQR', INFOT, NOUT, LERR, OK )
NT = NT + 10
*
* SHSEIN
*
Expand Down Expand Up @@ -398,6 +402,43 @@ SUBROUTINE SERRHS( PATH, NUNIT )
$ INFO )
CALL CHKXER( 'STREVC', INFOT, NOUT, LERR, OK )
NT = NT + 7
*
* STREVC3
*
SRNAMT = 'STREVC3'
INFOT = 1
CALL STREVC3( '/', 'A', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, INFO )
CALL CHKXER( 'STREVC3', INFOT, NOUT, LERR, OK )
INFOT = 2
CALL STREVC3( 'L', '/', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, INFO )
CALL CHKXER( 'STREVC3', INFOT, NOUT, LERR, OK )
INFOT = 4
CALL STREVC3( 'L', 'A', SEL, -1, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, INFO )
CALL CHKXER( 'STREVC3', INFOT, NOUT, LERR, OK )
INFOT = 6
CALL STREVC3( 'L', 'A', SEL, 2, A, 1, VL, 2, VR, 1, 4, M, W,
$ LW, INFO )
CALL CHKXER( 'STREVC3', INFOT, NOUT, LERR, OK )
INFOT = 8
CALL STREVC3( 'L', 'A', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W,
$ LW, INFO )
CALL CHKXER( 'STREVC3', INFOT, NOUT, LERR, OK )
INFOT = 10
CALL STREVC3( 'R', 'A', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W,
$ LW, INFO )
CALL CHKXER( 'STREVC3', INFOT, NOUT, LERR, OK )
INFOT = 11
CALL STREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 1, M, W,
$ LW, INFO )
CALL CHKXER( 'STREVC3', INFOT, NOUT, LERR, OK )
INFOT = 14
CALL STREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 2, M, W,
$ 2, INFO )
CALL CHKXER( 'STREVC3', INFOT, NOUT, LERR, OK )
NT = NT + 8
END IF
*
* Print a summary line.
Expand Down
47 changes: 44 additions & 3 deletions TESTING/EIG/zerrhs.f
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
*>
*> \verbatim
*>
*> ZERRHS tests the error exits for ZGEBAK, CGEBAL, CGEHRD, ZUNGHR,
*> ZUNMHR, ZHSEQR, CHSEIN, and ZTREVC.
*> ZERRHS tests the error exits for ZGEBAK, ZGEBAL, ZGEHRD, ZUNGHR,
*> ZUNMHR, ZHSEQR, ZHSEIN, ZTREVC, and ZTREVC3.
*> \endverbatim
*
* Arguments:
Expand Down Expand Up @@ -86,7 +86,7 @@ SUBROUTINE ZERRHS( PATH, NUNIT )
* ..
* .. External Subroutines ..
EXTERNAL CHKXER, ZGEBAK, ZGEBAL, ZGEHRD, ZHSEIN, ZHSEQR,
$ ZTREVC, ZUNGHR, ZUNMHR
$ ZUNGHR, ZUNMHR, ZTREVC, ZTREVC3
* ..
* .. Intrinsic Functions ..
INTRINSIC DBLE
Expand Down Expand Up @@ -389,6 +389,47 @@ SUBROUTINE ZERRHS( PATH, NUNIT )
$ INFO )
CALL CHKXER( 'ZTREVC', INFOT, NOUT, LERR, OK )
NT = NT + 7
*
* ZTREVC3
*
SRNAMT = 'ZTREVC3'
INFOT = 1
CALL ZTREVC3( '/', 'A', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, RW, 1, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 2
CALL ZTREVC3( 'L', '/', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, RW, 1, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 4
CALL ZTREVC3( 'L', 'A', SEL, -1, A, 1, VL, 1, VR, 1, 0, M, W,
$ LW, RW, 1, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 6
CALL ZTREVC3( 'L', 'A', SEL, 2, A, 1, VL, 2, VR, 1, 4, M, W,
$ LW, RW, 2, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 8
CALL ZTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W,
$ LW, RW, 2, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 10
CALL ZTREVC3( 'R', 'A', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W,
$ LW, RW, 2, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 11
CALL ZTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 1, M, W,
$ LW, RW, 2, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 14
CALL ZTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 2, M, W,
$ 2, RW, 2, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
INFOT = 16
CALL ZTREVC3( 'L', 'A', SEL, 2, A, 2, VL, 2, VR, 1, 2, M, W,
$ LW, RW, 1, INFO )
CALL CHKXER( 'ZTREVC3', INFOT, NOUT, LERR, OK )
NT = NT + 9
END IF
*
* Print a summary line.
Expand Down