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, NTGEXC, LTGEXC
96 REAL EPS, RLAEXC, RLALN2, RLANV2, RLAQTR, RLASY2,
97 $ RTREXC, RTRSYL, SFMIN, RTGEXC
100 INTEGER LTRSEN( 3 ), LTRSNA( 3 ), NLAEXC( 2 ),
101 $ NLALN2( 2 ), NTREXC( 3 ), NTRSEN( 3 ),
103 REAL RTRSEN( 3 ), RTRSNA( 3 )
115 path( 1: 1 ) =
'Single precision'
122 WRITE( nout, fmt = 9989 )
123 WRITE( nout, fmt = 9988 )eps, sfmin
124 WRITE( nout, fmt = 9987 )thresh
129 $
CALL serrec( path, nout )
132 CALL sget31( rlaln2, llaln2, nlaln2, klaln2 )
133 IF( rlaln2.GT.thresh .OR. nlaln2( 1 ).NE.0 )
THEN
135 WRITE( nout, fmt = 9999 )rlaln2, llaln2, nlaln2, klaln2
138 CALL sget32( rlasy2, llasy2, nlasy2, klasy2 )
139 IF( rlasy2.GT.thresh )
THEN
141 WRITE( nout, fmt = 9998 )rlasy2, llasy2, nlasy2, klasy2
144 CALL sget33( rlanv2, llanv2, nlanv2, klanv2 )
145 IF( rlanv2.GT.thresh .OR. nlanv2.NE.0 )
THEN
147 WRITE( nout, fmt = 9997 )rlanv2, llanv2, nlanv2, klanv2
150 CALL sget34( rlaexc, llaexc, nlaexc, klaexc )
151 IF( rlaexc.GT.thresh .OR. nlaexc( 2 ).NE.0 )
THEN
153 WRITE( nout, fmt = 9996 )rlaexc, llaexc, nlaexc, klaexc
156 CALL sget35( rtrsyl, ltrsyl, ntrsyl, ktrsyl )
157 IF( rtrsyl.GT.thresh )
THEN
159 WRITE( nout, fmt = 9995 )rtrsyl, ltrsyl, ntrsyl, ktrsyl
162 CALL sget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
163 IF( rtrexc.GT.thresh .OR. ntrexc( 3 ).GT.0 )
THEN
165 WRITE( nout, fmt = 9994 )rtrexc, ltrexc, ntrexc, ktrexc
168 CALL sget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
169 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
170 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
173 WRITE( nout, fmt = 9993 )rtrsna, ltrsna, ntrsna, ktrsna
176 CALL sget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
177 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
178 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
181 WRITE( nout, fmt = 9992 )rtrsen, ltrsen, ntrsen, ktrsen
184 CALL sget39( rlaqtr, llaqtr, nlaqtr, klaqtr )
185 IF( rlaqtr.GT.thresh )
THEN
187 WRITE( nout, fmt = 9991 )rlaqtr, llaqtr, nlaqtr, klaqtr
190 CALL sget40( rtgexc, ltgexc, ntgexc, ktgexc, nin )
191 IF( rtgexc.GT.thresh )
THEN
193 WRITE( nout, fmt = 9986 )rtgexc, ltgexc, ntgexc, ktgexc
196 ntests = klaln2 + klasy2 + klanv2 + klaexc + ktrsyl + ktrexc +
197 $ ktrsna + ktrsen + klaqtr
199 $
WRITE( nout, fmt = 9990 )path, ntests
202 9999
FORMAT(
' Error in SLALN2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
203 $
'INFO=', 2i8,
' KNT=', i8 )
204 9998
FORMAT(
' Error in SLASY2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
205 $
'INFO=', i8,
' KNT=', i8 )
206 9997
FORMAT(
' Error in SLANV2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
207 $
'INFO=', i8,
' KNT=', i8 )
208 9996
FORMAT(
' Error in SLAEXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
209 $
'INFO=', 2i8,
' KNT=', i8 )
210 9995
FORMAT(
' Error in STRSYL: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
211 $
'INFO=', i8,
' KNT=', i8 )
212 9994
FORMAT(
' Error in STREXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
213 $
'INFO=', 3i8,
' KNT=', i8 )
214 9993
FORMAT(
' Error in STRSNA: RMAX =', 3e12.3, /
' LMAX = ', 3i8,
215 $
' NINFO=', 3i8,
' KNT=', i8 )
216 9992
FORMAT(
' Error in STRSEN: RMAX =', 3e12.3, /
' LMAX = ', 3i8,
217 $
' NINFO=', 3i8,
' KNT=', i8 )
218 9991
FORMAT(
' Error in SLAQTR: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
219 $
'INFO=', i8,
' KNT=', i8 )
220 9990
FORMAT( / 1x,
'All tests for ', a3,
' routines passed the thresh',
221 $
'old ( ', i6,
' tests run)' )
222 9989
FORMAT(
' Tests of the Nonsymmetric eigenproblem condition estim',
223 $
'ation routines', /
' SLALN2, SLASY2, SLANV2, SLAEXC, STRS',
224 $
'YL, STREXC, STRSNA, STRSEN, SLAQTR', / )
225 9988
FORMAT(
' Relative machine precision (EPS) = ', e16.6, /
' Safe ',
226 $
'minimum (SFMIN) = ', e16.6, / )
227 9987
FORMAT(
' Routines pass computational tests if test ratio is les',
228 $
's than', f8.2, / / )
229 9986
FORMAT(
' Error in STGEXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
230 $
'INFO=', i8,
' KNT=', i8 )
subroutine sget40(RMAX, LMAX, NINFO, KNT, NIN)
SGET40
subroutine sget36(RMAX, LMAX, NINFO, KNT, NIN)
SGET36
subroutine sget38(RMAX, LMAX, NINFO, KNT, NIN)
SGET38
subroutine sget33(RMAX, LMAX, NINFO, KNT)
SGET33
subroutine sget31(RMAX, LMAX, NINFO, KNT)
SGET31
subroutine serrec(PATH, NUNIT)
SERREC
subroutine sget34(RMAX, LMAX, NINFO, KNT)
SGET34
subroutine sget37(RMAX, LMAX, NINFO, KNT, NIN)
SGET37
subroutine sget35(RMAX, LMAX, NINFO, KNT)
SGET35
subroutine sget39(RMAX, LMAX, NINFO, KNT)
SGET39
subroutine sget32(RMAX, LMAX, NINFO, KNT)
SGET32
real function slamch(CMACH)
SLAMCH