75 SUBROUTINE schkec( THRESH, TSTERR, NIN, NOUT )
92 INTEGER KLAEXC, KLALN2, KLANV2, KLAQTR, KLASY2, KTREXC,
93 $ KTRSEN, KTRSNA, KTRSYL, KTRSYL3, LLAEXC,
94 $ LLALN2, LLANV2, LLAQTR, LLASY2, LTREXC, LTRSYL,
95 $ NLANV2, NLAQTR, NLASY2, NTESTS, NTRSYL, KTGEXC,
97 REAL EPS, RLAEXC, RLALN2, RLANV2, RLAQTR, RLASY2,
98 $ RTREXC, SFMIN, RTGEXC
101 INTEGER FTRSYL( 3 ), ITRSYL( 2 ), LTRSEN( 3 ),
102 $ LTRSNA( 3 ), NLAEXC( 2 ), NLALN2( 2 ),
103 $ NTGEXC( 2 ), NTREXC( 3 ), NTRSEN( 3 ),
105 REAL RTRSEN( 3 ), RTRSNA( 3 ), RTRSYL( 2 )
117 path( 1: 1 ) =
'Single precision'
120 sfmin = slamch(
'S' )
124 WRITE( nout, fmt = 9989 )
125 WRITE( nout, fmt = 9988 )eps, sfmin
126 WRITE( nout, fmt = 9987 )thresh
131 $
CALL serrec( path, nout )
134 CALL sget31( rlaln2, llaln2, nlaln2, klaln2 )
135 IF( rlaln2.GT.thresh .OR. nlaln2( 1 ).NE.0 )
THEN
137 WRITE( nout, fmt = 9999 )rlaln2, llaln2, nlaln2, klaln2
140 CALL sget32( rlasy2, llasy2, nlasy2, klasy2 )
141 IF( rlasy2.GT.thresh )
THEN
143 WRITE( nout, fmt = 9998 )rlasy2, llasy2, nlasy2, klasy2
146 CALL sget33( rlanv2, llanv2, nlanv2, klanv2 )
147 IF( rlanv2.GT.thresh .OR. nlanv2.NE.0 )
THEN
149 WRITE( nout, fmt = 9997 )rlanv2, llanv2, nlanv2, klanv2
152 CALL sget34( rlaexc, llaexc, nlaexc, klaexc )
153 IF( rlaexc.GT.thresh .OR. nlaexc( 2 ).NE.0 )
THEN
155 WRITE( nout, fmt = 9996 )rlaexc, llaexc, nlaexc, klaexc
158 CALL sget35( rtrsyl( 1 ), ltrsyl, ntrsyl, ktrsyl )
159 IF( rtrsyl( 1 ).GT.thresh )
THEN
161 WRITE( nout, fmt = 9995 )rtrsyl( 1 ), ltrsyl, ntrsyl, ktrsyl
164 CALL ssyl01( thresh, ftrsyl, rtrsyl, itrsyl, ktrsyl3 )
165 IF( ftrsyl( 1 ).GT.0 )
THEN
167 WRITE( nout, fmt = 9970 )ftrsyl( 1 ), rtrsyl( 1 ), thresh
169 IF( ftrsyl( 2 ).GT.0 )
THEN
171 WRITE( nout, fmt = 9971 )ftrsyl( 2 ), rtrsyl( 2 ), thresh
173 IF( ftrsyl( 3 ).GT.0 )
THEN
175 WRITE( nout, fmt = 9972 )ftrsyl( 3 )
178 CALL sget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
179 IF( rtrexc.GT.thresh .OR. ntrexc( 3 ).GT.0 )
THEN
181 WRITE( nout, fmt = 9994 )rtrexc, ltrexc, ntrexc, ktrexc
184 CALL sget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
185 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
186 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
189 WRITE( nout, fmt = 9993 )rtrsna, ltrsna, ntrsna, ktrsna
192 CALL sget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
193 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
194 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
197 WRITE( nout, fmt = 9992 )rtrsen, ltrsen, ntrsen, ktrsen
200 CALL sget39( rlaqtr, llaqtr, nlaqtr, klaqtr )
201 IF( rlaqtr.GT.thresh )
THEN
203 WRITE( nout, fmt = 9991 )rlaqtr, llaqtr, nlaqtr, klaqtr
206 CALL sget40( rtgexc, ltgexc, ntgexc, ktgexc, nin )
207 IF( rtgexc.GT.thresh )
THEN
209 WRITE( nout, fmt = 9986 )rtgexc, ltgexc, ntgexc, ktgexc
212 ntests = klaln2 + klasy2 + klanv2 + klaexc + ktrsyl + ktrexc +
213 $ ktrsna + ktrsen + klaqtr
215 $
WRITE( nout, fmt = 9990 )path, ntests
218 9999
FORMAT(
' Error in SLALN2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
219 $
'INFO=', 2i8,
' KNT=', i8 )
220 9998
FORMAT(
' Error in SLASY2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
221 $
'INFO=', i8,
' KNT=', i8 )
222 9997
FORMAT(
' Error in SLANV2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
223 $
'INFO=', i8,
' KNT=', i8 )
224 9996
FORMAT(
' Error in SLAEXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
225 $
'INFO=', 2i8,
' KNT=', i8 )
226 9995
FORMAT(
' Error in STRSYL: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
227 $
'INFO=', i8,
' KNT=', i8 )
228 9994
FORMAT(
' Error in STREXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
229 $
'INFO=', 3i8,
' KNT=', i8 )
230 9993
FORMAT(
' Error in STRSNA: RMAX =', 3e12.3, /
' LMAX = ', 3i8,
231 $
' NINFO=', 3i8,
' KNT=', i8 )
232 9992
FORMAT(
' Error in STRSEN: RMAX =', 3e12.3, /
' LMAX = ', 3i8,
233 $
' NINFO=', 3i8,
' KNT=', i8 )
234 9991
FORMAT(
' Error in SLAQTR: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
235 $
'INFO=', i8,
' KNT=', i8 )
236 9990
FORMAT( / 1x,
'All tests for ', a3,
' routines passed the thresh',
237 $
'old ( ', i6,
' tests run)' )
238 9989
FORMAT(
' Tests of the Nonsymmetric eigenproblem condition estim',
239 $
'ation routines', /
' SLALN2, SLASY2, SLANV2, SLAEXC, STRS',
240 $
'YL, STREXC, STRSNA, STRSEN, SLAQTR', / )
241 9988
FORMAT(
' Relative machine precision (EPS) = ', e16.6, /
' Safe ',
242 $
'minimum (SFMIN) = ', e16.6, / )
243 9987
FORMAT(
' Routines pass computational tests if test ratio is les',
244 $
's than', f8.2, / / )
245 9986
FORMAT(
' Error in STGEXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
246 $
'INFO=', 2i8,
' KNT=', i8 )
247 9972
FORMAT(
'STRSYL and STRSYL3 compute an inconsistent result ',
248 $
'factor in ', i8,
' tests.')
249 9971
FORMAT(
'Error in STRSYL3: ', i8,
' tests fail the threshold.', /
250 $
'Maximum test ratio =', d12.3,
' threshold =', d12.3 )
251 9970
FORMAT(
'Error in STRSYL: ', i8,
' tests fail the threshold.', /
252 $
'Maximum test ratio =', d12.3,
' threshold =', d12.3 )
subroutine schkec(thresh, tsterr, nin, nout)
SCHKEC
subroutine serrec(path, nunit)
SERREC
subroutine sget31(rmax, lmax, ninfo, knt)
SGET31
subroutine sget32(rmax, lmax, ninfo, knt)
SGET32
subroutine sget33(rmax, lmax, ninfo, knt)
SGET33
subroutine sget34(rmax, lmax, ninfo, knt)
SGET34
subroutine sget35(rmax, lmax, ninfo, knt)
SGET35
subroutine sget36(rmax, lmax, ninfo, knt, nin)
SGET36
subroutine sget37(rmax, lmax, ninfo, knt, nin)
SGET37
subroutine sget38(rmax, lmax, ninfo, knt, nin)
SGET38
subroutine sget39(rmax, lmax, ninfo, knt)
SGET39
subroutine sget40(rmax, lmax, ninfo, knt, nin)
SGET40
subroutine ssyl01(thresh, nfail, rmax, ninfo, knt)
SSYL01