Skip to content

Commit

Permalink
Merge pull request #675 from angsch/tests
Browse files Browse the repository at this point in the history
Improve testing
  • Loading branch information
langou authored May 25, 2022
2 parents 0eb7706 + d2a547a commit f40d220
Show file tree
Hide file tree
Showing 15 changed files with 241 additions and 43 deletions.
20 changes: 18 additions & 2 deletions TESTING/EIG/cerrbd.f
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
*>
*> \verbatim
*>
*> CERRBD tests the error exits for CGEBRD, CUNGBR, CUNMBR, and CBDSQR.
*> CERRBD tests the error exits for CGEBD2, CGEBRD, CUNGBR, CUNMBR,
*> and CBDSQR.
*> \endverbatim
*
* Arguments:
Expand Down Expand Up @@ -81,7 +82,8 @@ SUBROUTINE CERRBD( PATH, NUNIT )
EXTERNAL LSAMEN
* ..
* .. External Subroutines ..
EXTERNAL CBDSQR, CGEBRD, CHKXER, CUNGBR, CUNMBR
EXTERNAL CHKXER, CBDSQR, CGEBD2, CGEBRD, CUNGBR,
$ CUNMBR
* ..
* .. Scalars in Common ..
LOGICAL LERR, OK
Expand Down Expand Up @@ -132,6 +134,20 @@ SUBROUTINE CERRBD( PATH, NUNIT )
CALL CHKXER( 'CGEBRD', INFOT, NOUT, LERR, OK )
NT = NT + 4
*
* CGEBD2
*
SRNAMT = 'CGEBD2'
INFOT = 1
CALL CGEBD2( -1, 0, A, 1, D, E, TQ, TP, W, INFO )
CALL CHKXER( 'CGEBD2', INFOT, NOUT, LERR, OK )
INFOT = 2
CALL CGEBD2( 0, -1, A, 1, D, E, TQ, TP, W, INFO )
CALL CHKXER( 'CGEBD2', INFOT, NOUT, LERR, OK )
INFOT = 4
CALL CGEBD2( 2, 1, A, 1, D, E, TQ, TP, W, INFO )
CALL CHKXER( 'CGEBD2', INFOT, NOUT, LERR, OK )
NT = NT + 3
*
* CUNGBR
*
SRNAMT = 'CUNGBR'
Expand Down
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
2 changes: 1 addition & 1 deletion TESTING/EIG/serrbd.f
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ SUBROUTINE SERRBD( PATH, NUNIT )
*
DO 20 J = 1, NMAX
DO 10 I = 1, NMAX
A( I, J ) = 1.D0 / REAL( I+J )
A( I, J ) = 1. / REAL( I+J )
10 CONTINUE
20 CONTINUE
OK = .TRUE.
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
20 changes: 18 additions & 2 deletions TESTING/EIG/zerrbd.f
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
*>
*> \verbatim
*>
*> ZERRBD tests the error exits for ZGEBRD, ZUNGBR, ZUNMBR, and ZBDSQR.
*> ZERRBD tests the error exits for ZGEBD2, ZGEBRD, ZUNGBR, ZUNMBR,
*> and ZBDSQR.
*> \endverbatim
*
* Arguments:
Expand Down Expand Up @@ -81,7 +82,8 @@ SUBROUTINE ZERRBD( PATH, NUNIT )
EXTERNAL LSAMEN
* ..
* .. External Subroutines ..
EXTERNAL CHKXER, ZBDSQR, ZGEBRD, ZUNGBR, ZUNMBR
EXTERNAL CHKXER, ZBDSQR, ZGEBD2, ZGEBRD, ZUNGBR,
$ ZUNMBR
* ..
* .. Scalars in Common ..
LOGICAL LERR, OK
Expand Down Expand Up @@ -132,6 +134,20 @@ SUBROUTINE ZERRBD( PATH, NUNIT )
CALL CHKXER( 'ZGEBRD', INFOT, NOUT, LERR, OK )
NT = NT + 4
*
* ZGEBD2
*
SRNAMT = 'ZGEBD2'
INFOT = 1
CALL ZGEBD2( -1, 0, A, 1, D, E, TQ, TP, W, INFO )
CALL CHKXER( 'ZGEBD2', INFOT, NOUT, LERR, OK )
INFOT = 2
CALL ZGEBD2( 0, -1, A, 1, D, E, TQ, TP, W, INFO )
CALL CHKXER( 'ZGEBD2', INFOT, NOUT, LERR, OK )
INFOT = 4
CALL ZGEBD2( 2, 1, A, 1, D, E, TQ, TP, W, INFO )
CALL CHKXER( 'ZGEBD2', INFOT, NOUT, LERR, OK )
NT = NT + 3
*
* ZUNGBR
*
SRNAMT = 'ZUNGBR'
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
8 changes: 4 additions & 4 deletions TESTING/LIN/cerrrfp.f
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,10 @@ SUBROUTINE CERRRFP( NUNIT )
*
NOUT = NUNIT
OK = .TRUE.
A( 1, 1 ) = CMPLX( 1.D0 , 1.D0 )
B( 1, 1 ) = CMPLX( 1.D0 , 1.D0 )
ALPHA = CMPLX( 1.D0 , 1.D0 )
BETA = CMPLX( 1.D0 , 1.D0 )
A( 1, 1 ) = CMPLX( 1.0 , 1.0 )
B( 1, 1 ) = CMPLX( 1.0 , 1.0 )
ALPHA = CMPLX( 1.0 , 1.0 )
BETA = CMPLX( 1.0 , 1.0 )
*
SRNAMT = 'CPFTRF'
INFOT = 1
Expand Down
Loading

0 comments on commit f40d220

Please sign in to comment.