Skip to content

Commit e860053

Browse files
authored
Merge pull request #795 from dklyuchinskiy/lapack-extend-error-checks-sysv-sytd2-gehd2
extend tests for error exit sysv sytd2 gehd2
2 parents c791b99 + 56934c7 commit e860053

File tree

13 files changed

+337
-69
lines changed

13 files changed

+337
-69
lines changed

TESTING/EIG/cerrhs.f

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
*>
2222
*> \verbatim
2323
*>
24-
*> CERRHS tests the error exits for CGEBAK, CGEBAL, CGEHRD, CUNGHR,
25-
*> CUNMHR, CHSEQR, CHSEIN, CTREVC, and CTREVC3.
24+
*> CERRHS tests the error exits for CGEBAK, CGEBAL, CGEHRD, CGEHD2,
25+
*> CUNGHR, CUNMHR, CHSEQR, CHSEIN, CTREVC, and CTREVC3.
2626
*> \endverbatim
2727
*
2828
* Arguments:
@@ -86,7 +86,7 @@ SUBROUTINE CERRHS( PATH, NUNIT )
8686
* ..
8787
* .. External Subroutines ..
8888
EXTERNAL CHKXER, CGEBAK, CGEBAL, CGEHRD, CHSEIN, CHSEQR,
89-
$ CUNGHR, CUNMHR, CTREVC, CTREVC3
89+
$ CUNGHR, CUNMHR, CTREVC, CTREVC3, CGEHD2
9090
* ..
9191
* .. Intrinsic Functions ..
9292
INTRINSIC REAL
@@ -193,6 +193,29 @@ SUBROUTINE CERRHS( PATH, NUNIT )
193193
CALL CHKXER( 'CGEHRD', INFOT, NOUT, LERR, OK )
194194
NT = NT + 7
195195
*
196+
* CGEHD2
197+
*
198+
SRNAMT = 'CGEHD2'
199+
INFOT = 1
200+
CALL CGEHD2( -1, 1, 1, A, 1, TAU, W, INFO )
201+
CALL CHKXER( 'CGEHD2', INFOT, NOUT, LERR, OK )
202+
INFOT = 2
203+
CALL CGEHD2( 0, 0, 0, A, 1, TAU, W, INFO )
204+
CALL CHKXER( 'CGEHD2', INFOT, NOUT, LERR, OK )
205+
INFOT = 2
206+
CALL CGEHD2( 0, 2, 0, A, 1, TAU, W, INFO )
207+
CALL CHKXER( 'CGEHD2', INFOT, NOUT, LERR, OK )
208+
INFOT = 3
209+
CALL CGEHD2( 1, 1, 0, A, 1, TAU, W, INFO )
210+
CALL CHKXER( 'CGEHD2', INFOT, NOUT, LERR, OK )
211+
INFOT = 3
212+
CALL CGEHD2( 0, 1, 1, A, 1, TAU, W, INFO )
213+
CALL CHKXER( 'CGEHD2', INFOT, NOUT, LERR, OK )
214+
INFOT = 5
215+
CALL CGEHD2( 2, 1, 1, A, 1, TAU, W, INFO )
216+
CALL CHKXER( 'CGEHD2', INFOT, NOUT, LERR, OK )
217+
NT = NT + 6
218+
*
196219
* CUNGHR
197220
*
198221
SRNAMT = 'CUNGHR'

TESTING/EIG/cerrst.f

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
*>
2222
*> \verbatim
2323
*>
24-
*> CERRST tests the error exits for CHETRD, CUNGTR, CUNMTR, CHPTRD,
24+
*> CERRST tests the error exits for CHETRD, CHETD2, CUNGTR, CUNMTR, CHPTRD,
2525
*> CUNGTR, CUPMTR, CSTEQR, CSTEIN, CPTEQR, CHBTRD,
2626
*> CHEEV, CHEEVX, CHEEVD, CHBEV, CHBEVX, CHBEVD,
2727
*> CHPEV, CHPEVX, CHPEVD, and CSTEDC.
@@ -94,7 +94,7 @@ SUBROUTINE CERRST( PATH, NUNIT )
9494
EXTERNAL CHBEV, CHBEVD, CHBEVX, CHBTRD, CHEEV, CHEEVD,
9595
$ CHEEVR, CHEEVX, CHETRD, CHKXER, CHPEV, CHPEVD,
9696
$ CHPEVX, CHPTRD, CPTEQR, CSTEDC, CSTEIN, CSTEQR,
97-
$ CUNGTR, CUNMTR, CUPGTR, CUPMTR,
97+
$ CUNGTR, CUNMTR, CUPGTR, CUPMTR, CHETD2,
9898
$ CHEEVD_2STAGE, CHEEVR_2STAGE, CHEEVX_2STAGE,
9999
$ CHEEV_2STAGE, CHBEV_2STAGE, CHBEVD_2STAGE,
100100
$ CHBEVX_2STAGE, CHETRD_2STAGE, CHETRD_HE2HB,
@@ -156,6 +156,20 @@ SUBROUTINE CERRST( PATH, NUNIT )
156156
CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
157157
NT = NT + 4
158158
*
159+
* CHETD2
160+
*
161+
SRNAMT = 'CHETD2'
162+
INFOT = 1
163+
CALL CHETD2( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
164+
CALL CHKXER( 'CHETD2', INFOT, NOUT, LERR, OK )
165+
INFOT = 2
166+
CALL CHETD2( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
167+
CALL CHKXER( 'CHETD2', INFOT, NOUT, LERR, OK )
168+
INFOT = 4
169+
CALL CHETD2( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
170+
CALL CHKXER( 'CHETD2', INFOT, NOUT, LERR, OK )
171+
NT = NT + 3
172+
*
159173
* CHETRD_2STAGE
160174
*
161175
SRNAMT = 'CHETRD_2STAGE'

TESTING/EIG/derrhs.f

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
*>
2222
*> \verbatim
2323
*>
24-
*> DERRHS tests the error exits for DGEBAK, DGEBAL, DGEHRD, DORGHR,
25-
*> DORMHR, DHSEQR, DHSEIN, DTREVC, and DTREVC3.
24+
*> DERRHS tests the error exits for DGEBAK, DGEBAL, DGEHRD, DGEHD2,
25+
*> DORGHR, DORMHR, DHSEQR, DHSEIN, DTREVC, and DTREVC3.
2626
*> \endverbatim
2727
*
2828
* Arguments:
@@ -86,7 +86,7 @@ SUBROUTINE DERRHS( PATH, NUNIT )
8686
* ..
8787
* .. External Subroutines ..
8888
EXTERNAL CHKXER, DGEBAK, DGEBAL, DGEHRD, DHSEIN, DHSEQR,
89-
$ DORGHR, DORMHR, DTREVC, DTREVC3
89+
$ DORGHR, DORMHR, DTREVC, DTREVC3, DGEHD2
9090
* ..
9191
* .. Intrinsic Functions ..
9292
INTRINSIC DBLE
@@ -194,6 +194,29 @@ SUBROUTINE DERRHS( PATH, NUNIT )
194194
CALL CHKXER( 'DGEHRD', INFOT, NOUT, LERR, OK )
195195
NT = NT + 7
196196
*
197+
* DGEHD2
198+
*
199+
SRNAMT = 'DGEHD2'
200+
INFOT = 1
201+
CALL DGEHD2( -1, 1, 1, A, 1, TAU, W, INFO )
202+
CALL CHKXER( 'DGEHD2', INFOT, NOUT, LERR, OK )
203+
INFOT = 2
204+
CALL DGEHD2( 0, 0, 0, A, 1, TAU, W, INFO )
205+
CALL CHKXER( 'DGEHD2', INFOT, NOUT, LERR, OK )
206+
INFOT = 2
207+
CALL DGEHD2( 0, 2, 0, A, 1, TAU, W, INFO )
208+
CALL CHKXER( 'DGEHD2', INFOT, NOUT, LERR, OK )
209+
INFOT = 3
210+
CALL DGEHD2( 1, 1, 0, A, 1, TAU, W, INFO )
211+
CALL CHKXER( 'DGEHD2', INFOT, NOUT, LERR, OK )
212+
INFOT = 3
213+
CALL DGEHD2( 0, 1, 1, A, 1, TAU, W, INFO )
214+
CALL CHKXER( 'DGEHD2', INFOT, NOUT, LERR, OK )
215+
INFOT = 5
216+
CALL DGEHD2( 2, 1, 1, A, 1, TAU, W, INFO )
217+
CALL CHKXER( 'DGEHD2', INFOT, NOUT, LERR, OK )
218+
NT = NT + 6
219+
*
197220
* DORGHR
198221
*
199222
SRNAMT = 'DORGHR'

TESTING/EIG/derrst.f

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
*>
2222
*> \verbatim
2323
*>
24-
*> DERRST tests the error exits for DSYTRD, DORGTR, DORMTR, DSPTRD,
25-
*> DOPGTR, DOPMTR, DSTEQR, SSTERF, SSTEBZ, SSTEIN, DPTEQR, DSBTRD,
26-
*> DSYEV, SSYEVX, SSYEVD, DSBEV, SSBEVX, SSBEVD,
27-
*> DSPEV, SSPEVX, SSPEVD, DSTEV, SSTEVX, SSTEVD, and SSTEDC.
24+
*> DERRST tests the error exits for DSYTRD, DSYTD2, DORGTR, DORMTR, DSPTRD,
25+
*> DOPGTR, DOPMTR, DSTEQR, DSTERF, DSTEBZ, DSTEIN, DPTEQR, DSBTRD,
26+
*> DSYEV, DSYEVX, DSYEVD, DSBEV, DSBEVX, DSBEVD,
27+
*> DSPEV, DSPEVX, DSPEVD, DSTEV, DSTEVX, DSTEVD, and DSTEDC.
2828
*> DSYEVD_2STAGE, DSYEVR_2STAGE, DSYEVX_2STAGE,
2929
*> DSYEV_2STAGE, DSBEV_2STAGE, DSBEVD_2STAGE,
3030
*> DSBEVX_2STAGE, DSYTRD_2STAGE, DSYTRD_SY2SB,
@@ -95,7 +95,7 @@ SUBROUTINE DERRST( PATH, NUNIT )
9595
$ DSBEV, DSBEVD, DSBEVX, DSBTRD, DSPEV, DSPEVD,
9696
$ DSPEVX, DSPTRD, DSTEBZ, DSTEDC, DSTEIN, DSTEQR,
9797
$ DSTERF, DSTEV, DSTEVD, DSTEVR, DSTEVX, DSYEV,
98-
$ DSYEVD, DSYEVR, DSYEVX, DSYTRD,
98+
$ DSYEVD, DSYEVR, DSYEVX, DSYTRD, DSYTD2,
9999
$ DSYEVD_2STAGE, DSYEVR_2STAGE, DSYEVX_2STAGE,
100100
$ DSYEV_2STAGE, DSBEV_2STAGE, DSBEVD_2STAGE,
101101
$ DSBEVX_2STAGE, DSYTRD_2STAGE, DSYTRD_SY2SB,
@@ -157,6 +157,20 @@ SUBROUTINE DERRST( PATH, NUNIT )
157157
CALL CHKXER( 'DSYTRD', INFOT, NOUT, LERR, OK )
158158
NT = NT + 4
159159
*
160+
* DSYTD2
161+
*
162+
SRNAMT = 'DSYTD2'
163+
INFOT = 1
164+
CALL DSYTD2( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
165+
CALL CHKXER( 'DSYTD2', INFOT, NOUT, LERR, OK )
166+
INFOT = 2
167+
CALL DSYTD2( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
168+
CALL CHKXER( 'DSYTD2', INFOT, NOUT, LERR, OK )
169+
INFOT = 4
170+
CALL DSYTD2( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
171+
CALL CHKXER( 'DSYTD2', INFOT, NOUT, LERR, OK )
172+
NT = NT + 3
173+
*
160174
* DSYTRD_2STAGE
161175
*
162176
SRNAMT = 'DSYTRD_2STAGE'

TESTING/EIG/serrhs.f

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
*>
2222
*> \verbatim
2323
*>
24-
*> SERRHS tests the error exits for SGEBAK, SGEBAL, SGEHRD, SORGHR,
25-
*> SORMHR, SHSEQR, SHSEIN, STREVC, and STREVC3.
24+
*> SERRHS tests the error exits for SGEBAK, SGEBAL, SGEHRD, SGEHD2,
25+
*> SORGHR, SORMHR, SHSEQR, SHSEIN, STREVC, and STREVC3.
2626
*> \endverbatim
2727
*
2828
* Arguments:
@@ -85,7 +85,7 @@ SUBROUTINE SERRHS( PATH, NUNIT )
8585
* ..
8686
* .. External Subroutines ..
8787
EXTERNAL CHKXER, SGEBAK, SGEBAL, SGEHRD, SHSEIN, SHSEQR,
88-
$ SORGHR, SORMHR, STREVC, STREVC3
88+
$ SORGHR, SORMHR, STREVC, STREVC3, SGEHD2
8989
* ..
9090
* .. Intrinsic Functions ..
9191
INTRINSIC REAL
@@ -193,6 +193,29 @@ SUBROUTINE SERRHS( PATH, NUNIT )
193193
CALL CHKXER( 'SGEHRD', INFOT, NOUT, LERR, OK )
194194
NT = NT + 7
195195
*
196+
* SGEHD2
197+
*
198+
SRNAMT = 'SGEHD2'
199+
INFOT = 1
200+
CALL SGEHD2( -1, 1, 1, A, 1, TAU, W, INFO )
201+
CALL CHKXER( 'SGEHD2', INFOT, NOUT, LERR, OK )
202+
INFOT = 2
203+
CALL SGEHD2( 0, 0, 0, A, 1, TAU, W, INFO )
204+
CALL CHKXER( 'SGEHD2', INFOT, NOUT, LERR, OK )
205+
INFOT = 2
206+
CALL SGEHD2( 0, 2, 0, A, 1, TAU, W, INFO )
207+
CALL CHKXER( 'SGEHD2', INFOT, NOUT, LERR, OK )
208+
INFOT = 3
209+
CALL SGEHD2( 1, 1, 0, A, 1, TAU, W, INFO )
210+
CALL CHKXER( 'SGEHD2', INFOT, NOUT, LERR, OK )
211+
INFOT = 3
212+
CALL SGEHD2( 0, 1, 1, A, 1, TAU, W, INFO )
213+
CALL CHKXER( 'SGEHD2', INFOT, NOUT, LERR, OK )
214+
INFOT = 5
215+
CALL SGEHD2( 2, 1, 1, A, 1, TAU, W, INFO )
216+
CALL CHKXER( 'SGEHD2', INFOT, NOUT, LERR, OK )
217+
NT = NT + 6
218+
*
196219
* SORGHR
197220
*
198221
SRNAMT = 'SORGHR'

TESTING/EIG/serrst.f

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
*>
2222
*> \verbatim
2323
*>
24-
*> SERRST tests the error exits for SSYTRD, SORGTR, SORMTR, SSPTRD,
24+
*> SERRST tests the error exits for SSYTRD, SSYTD2, SORGTR, SORMTR, SSPTRD,
2525
*> SOPGTR, SOPMTR, SSTEQR, SSTERF, SSTEBZ, SSTEIN, SPTEQR, SSBTRD,
2626
*> SSYEV, SSYEVX, SSYEVD, SSBEV, SSBEVX, SSBEVD,
2727
*> SSPEV, SSPEVX, SSPEVD, SSTEV, SSTEVX, SSTEVD, and SSTEDC.
@@ -95,7 +95,7 @@ SUBROUTINE SERRST( PATH, NUNIT )
9595
$ SSBEV, SSBEVD, SSBEVX, SSBTRD, SSPEV, SSPEVD,
9696
$ SSPEVX, SSPTRD, SSTEBZ, SSTEDC, SSTEIN, SSTEQR,
9797
$ SSTERF, SSTEV, SSTEVD, SSTEVR, SSTEVX, SSYEV,
98-
$ SSYEVD, SSYEVR, SSYEVX, SSYTRD,
98+
$ SSYEVD, SSYEVR, SSYEVX, SSYTRD, SSYTD2,
9999
$ SSYEVD_2STAGE, SSYEVR_2STAGE, SSYEVX_2STAGE,
100100
$ SSYEV_2STAGE, SSBEV_2STAGE, SSBEVD_2STAGE,
101101
$ SSBEVX_2STAGE, SSYTRD_2STAGE, SSYTRD_SY2SB,
@@ -157,6 +157,20 @@ SUBROUTINE SERRST( PATH, NUNIT )
157157
CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
158158
NT = NT + 4
159159
*
160+
* SSYTD2
161+
*
162+
SRNAMT = 'SSYTD2'
163+
INFOT = 1
164+
CALL SSYTD2( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
165+
CALL CHKXER( 'SSYTD2', INFOT, NOUT, LERR, OK )
166+
INFOT = 2
167+
CALL SSYTD2( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
168+
CALL CHKXER( 'SSYTD2', INFOT, NOUT, LERR, OK )
169+
INFOT = 4
170+
CALL SSYTD2( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
171+
CALL CHKXER( 'SSYTD2', INFOT, NOUT, LERR, OK )
172+
NT = NT + 3
173+
*
160174
* SSYTRD_2STAGE
161175
*
162176
SRNAMT = 'SSYTRD_2STAGE'

TESTING/EIG/zerrhs.f

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
*>
2222
*> \verbatim
2323
*>
24-
*> ZERRHS tests the error exits for ZGEBAK, ZGEBAL, ZGEHRD, ZUNGHR,
25-
*> ZUNMHR, ZHSEQR, ZHSEIN, ZTREVC, and ZTREVC3.
24+
*> ZERRHS tests the error exits for ZGEBAK, ZGEBAL, ZGEHRD, ZGEHD2,
25+
*> ZUNGHR, ZUNMHR, ZHSEQR, ZHSEIN, ZTREVC, and ZTREVC3.
2626
*> \endverbatim
2727
*
2828
* Arguments:
@@ -193,6 +193,29 @@ SUBROUTINE ZERRHS( PATH, NUNIT )
193193
CALL CHKXER( 'ZGEHRD', INFOT, NOUT, LERR, OK )
194194
NT = NT + 7
195195
*
196+
* ZGEHD2
197+
*
198+
SRNAMT = 'ZGEHD2'
199+
INFOT = 1
200+
CALL ZGEHD2( -1, 1, 1, A, 1, TAU, W, INFO )
201+
CALL CHKXER( 'ZGEHD2', INFOT, NOUT, LERR, OK )
202+
INFOT = 2
203+
CALL ZGEHD2( 0, 0, 0, A, 1, TAU, W, INFO )
204+
CALL CHKXER( 'ZGEHD2', INFOT, NOUT, LERR, OK )
205+
INFOT = 2
206+
CALL ZGEHD2( 0, 2, 0, A, 1, TAU, W, INFO )
207+
CALL CHKXER( 'ZGEHD2', INFOT, NOUT, LERR, OK )
208+
INFOT = 3
209+
CALL ZGEHD2( 1, 1, 0, A, 1, TAU, W, INFO )
210+
CALL CHKXER( 'ZGEHD2', INFOT, NOUT, LERR, OK )
211+
INFOT = 3
212+
CALL ZGEHD2( 0, 1, 1, A, 1, TAU, W, INFO )
213+
CALL CHKXER( 'ZGEHD2', INFOT, NOUT, LERR, OK )
214+
INFOT = 5
215+
CALL ZGEHD2( 2, 1, 1, A, 1, TAU, W, INFO )
216+
CALL CHKXER( 'ZGEHD2', INFOT, NOUT, LERR, OK )
217+
NT = NT + 6
218+
*
196219
* ZUNGHR
197220
*
198221
SRNAMT = 'ZUNGHR'

TESTING/EIG/zerrst.f

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
*>
2424
*> \verbatim
2525
*>
26-
*> ZERRST tests the error exits for ZHETRD, ZUNGTR, CUNMTR, ZHPTRD,
26+
*> ZERRST tests the error exits for ZHETRD, ZHETD2, ZUNGTR, CUNMTR, ZHPTRD,
2727
*> ZUNGTR, ZUPMTR, ZSTEQR, CSTEIN, ZPTEQR, ZHBTRD,
2828
*> ZHEEV, CHEEVX, CHEEVD, ZHBEV, CHBEVX, CHBEVD,
2929
*> ZHPEV, CHPEVX, CHPEVD, and ZSTEDC.
@@ -95,7 +95,7 @@ SUBROUTINE ZERRST( PATH, NUNIT )
9595
EXTERNAL CHKXER, ZHBEV, ZHBEVD, ZHBEVX, ZHBTRD, ZHEEV,
9696
$ ZHEEVD, ZHEEVR, ZHEEVX, ZHETRD, ZHPEV, ZHPEVD,
9797
$ ZHPEVX, ZHPTRD, ZPTEQR, ZSTEDC, ZSTEIN, ZSTEQR,
98-
$ ZUNGTR, ZUNMTR, ZUPGTR, ZUPMTR,
98+
$ ZUNGTR, ZUNMTR, ZUPGTR, ZUPMTR, ZHETD2,
9999
$ ZHEEVD_2STAGE, ZHEEVR_2STAGE, ZHEEVX_2STAGE,
100100
$ ZHEEV_2STAGE, ZHBEV_2STAGE, ZHBEVD_2STAGE,
101101
$ ZHBEVX_2STAGE, ZHETRD_2STAGE
@@ -156,6 +156,20 @@ SUBROUTINE ZERRST( PATH, NUNIT )
156156
CALL CHKXER( 'ZHETRD', INFOT, NOUT, LERR, OK )
157157
NT = NT + 4
158158
*
159+
* ZHETD2
160+
*
161+
SRNAMT = 'ZHETD2'
162+
INFOT = 1
163+
CALL ZHETD2( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
164+
CALL CHKXER( 'ZHETD2', INFOT, NOUT, LERR, OK )
165+
INFOT = 2
166+
CALL ZHETD2( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
167+
CALL CHKXER( 'ZHETD2', INFOT, NOUT, LERR, OK )
168+
INFOT = 4
169+
CALL ZHETD2( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
170+
CALL CHKXER( 'ZHETD2', INFOT, NOUT, LERR, OK )
171+
NT = NT + 3
172+
*
159173
* ZHETRD_2STAGE
160174
*
161175
SRNAMT = 'ZHETRD_2STAGE'

0 commit comments

Comments
 (0)