@@ -90,21 +90,23 @@ SUBROUTINE DCHKEC( THRESH, TSTERR, NIN, NOUT )
90
90
LOGICAL OK
91
91
CHARACTER * 3 PATH
92
92
INTEGER KLAEXC, KLALN2, KLANV2, KLAQTR, KLASY2, KTREXC,
93
- $ KTRSEN, KTRSNA, KTRSYL, LLAEXC, LLALN2, LLANV2,
94
- $ LLAQTR, LLASY2, LTREXC, LTRSYL, NLANV2, NLAQTR,
95
- $ NLASY2, NTESTS, NTRSYL, KTGEXC, LTGEXC
93
+ $ KTRSEN, KTRSNA, KTRSYL, KTRSYL3, LLAEXC,
94
+ $ LLALN2, LLANV2, LLAQTR, LLASY2, LTREXC, LTRSYL,
95
+ $ NLANV2, NLAQTR, NLASY2, NTESTS, NTRSYL, KTGEXC,
96
+ $ LTGEXC
96
97
DOUBLE PRECISION EPS, RLAEXC, RLALN2, RLANV2, RLAQTR, RLASY2,
97
- $ RTREXC, RTRSYL, SFMIN, RTGEXC
98
+ $ RTREXC, SFMIN, RTGEXC
98
99
* ..
99
100
* .. Local Arrays ..
100
- INTEGER LTRSEN( 3 ), LTRSNA( 3 ), NLAEXC( 2 ),
101
- $ NLALN2( 2 ), NTGEXC( 2 ), NTREXC( 3 ),
102
- $ NTRSEN( 3 ), NTRSNA( 3 )
103
- DOUBLE PRECISION RTRSEN( 3 ), RTRSNA( 3 )
101
+ INTEGER FTRSYL( 3 ), ITRSYL( 2 ), LTRSEN( 3 ),
102
+ $ LTRSNA( 3 ), NLAEXC( 2 ), NLALN2( 2 ),
103
+ $ NTGEXC( 2 ), NTREXC( 3 ), NTRSEN( 3 ),
104
+ $ NTRSNA( 3 )
105
+ DOUBLE PRECISION RTRSEN( 3 ), RTRSNA( 3 ), RTRSYL( 2 )
104
106
* ..
105
107
* .. External Subroutines ..
106
108
EXTERNAL DERREC, DGET31, DGET32, DGET33, DGET34, DGET35,
107
- $ DGET36, DGET37, DGET38, DGET39, DGET40
109
+ $ DGET36, DGET37, DGET38, DGET39, DGET40, DSYL01
108
110
* ..
109
111
* .. External Functions ..
110
112
DOUBLE PRECISION DLAMCH
@@ -153,10 +155,24 @@ SUBROUTINE DCHKEC( THRESH, TSTERR, NIN, NOUT )
153
155
WRITE ( NOUT, FMT = 9996 )RLAEXC, LLAEXC, NLAEXC, KLAEXC
154
156
END IF
155
157
*
156
- CALL DGET35( RTRSYL, LTRSYL, NTRSYL, KTRSYL )
157
- IF ( RTRSYL.GT. THRESH ) THEN
158
+ CALL DGET35( RTRSYL( 1 ) , LTRSYL, NTRSYL, KTRSYL )
159
+ IF ( RTRSYL( 1 ) .GT. THRESH ) THEN
158
160
OK = .FALSE.
159
- WRITE ( NOUT, FMT = 9995 )RTRSYL, LTRSYL, NTRSYL, KTRSYL
161
+ WRITE ( NOUT, FMT = 9995 )RTRSYL( 1 ), LTRSYL, NTRSYL, KTRSYL
162
+ END IF
163
+ *
164
+ CALL DSYL01( THRESH, FTRSYL, RTRSYL, ITRSYL, KTRSYL3 )
165
+ IF ( FTRSYL( 1 ).GT. 0 ) THEN
166
+ OK = .FALSE.
167
+ WRITE ( NOUT, FMT = 9970 )FTRSYL( 1 ), RTRSYL( 1 ), THRESH
168
+ END IF
169
+ IF ( FTRSYL( 2 ).GT. 0 ) THEN
170
+ OK = .FALSE.
171
+ WRITE ( NOUT, FMT = 9971 )FTRSYL( 2 ), RTRSYL( 2 ), THRESH
172
+ END IF
173
+ IF ( FTRSYL( 3 ).GT. 0 ) THEN
174
+ OK = .FALSE.
175
+ WRITE ( NOUT, FMT = 9972 )FTRSYL( 3 )
160
176
END IF
161
177
*
162
178
CALL DGET36( RTREXC, LTREXC, NTREXC, KTREXC, NIN )
@@ -228,6 +244,12 @@ SUBROUTINE DCHKEC( THRESH, TSTERR, NIN, NOUT )
228
244
$ ' s than' , F8.2 , / / )
229
245
9986 FORMAT ( ' Error in DTGEXC: RMAX =' , D12.3 , / ' LMAX = ' , I8, ' N' ,
230
246
$ ' INFO=' , 2I8 , ' KNT=' , I8 )
247
+ 9972 FORMAT ( ' DTRSYL and DTRSYL3 compute an inconsistent result ' ,
248
+ $ ' factor in ' , I8, ' tests.' )
249
+ 9971 FORMAT ( ' Error in DTRSYL3: ' , I8, ' tests fail the threshold.' , /
250
+ $ ' Maximum test ratio =' , D12.3 , ' threshold =' , D12.3 )
251
+ 9970 FORMAT ( ' Error in DTRSYL: ' , I8, ' tests fail the threshold.' , /
252
+ $ ' Maximum test ratio =' , D12.3 , ' threshold =' , D12.3 )
231
253
*
232
254
* End of DCHKEC
233
255
*
0 commit comments