LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ dlafts()

subroutine dlafts ( character*3 type,
integer m,
integer n,
integer imat,
integer ntests,
double precision, dimension( * ) result,
integer, dimension( 4 ) iseed,
double precision thresh,
integer iounit,
integer ie )

DLAFTS

Purpose:
!>
!>    DLAFTS tests the result vector against the threshold value to
!>    see which tests for this matrix type failed to pass the threshold.
!>    Output is to the file given by unit IOUNIT.
!> 
!>  TYPE   - CHARACTER*3
!>           On entry, TYPE specifies the matrix type to be used in the
!>           printed messages.
!>           Not modified.
!>
!>  N      - INTEGER
!>           On entry, N specifies the order of the test matrix.
!>           Not modified.
!>
!>  IMAT   - INTEGER
!>           On entry, IMAT specifies the type of the test matrix.
!>           A listing of the different types is printed by DLAHD2
!>           to the output file if a test fails to pass the threshold.
!>           Not modified.
!>
!>  NTESTS - INTEGER
!>           On entry, NTESTS is the number of tests performed on the
!>           subroutines in the path given by TYPE.
!>           Not modified.
!>
!>  RESULT - DOUBLE PRECISION               array of dimension( NTESTS )
!>           On entry, RESULT contains the test ratios from the tests
!>           performed in the calling program.
!>           Not modified.
!>
!>  ISEED  - INTEGER            array of dimension( 4 )
!>           Contains the random seed that generated the matrix used
!>           for the tests whose ratios are in RESULT.
!>           Not modified.
!>
!>  THRESH - DOUBLE PRECISION
!>           On entry, THRESH specifies the acceptable threshold of the
!>           test ratios.  If RESULT( K ) > THRESH, then the K-th test
!>           did not pass the threshold and a message will be printed.
!>           Not modified.
!>
!>  IOUNIT - INTEGER
!>           On entry, IOUNIT specifies the unit number of the file
!>           to which the messages are printed.
!>           Not modified.
!>
!>  IE     - INTEGER
!>           On entry, IE contains the number of tests which have
!>           failed to pass the threshold so far.
!>           Updated on exit if any of the ratios in RESULT also fail.
!> 
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 97 of file dlafts.f.

99*
100* -- LAPACK test routine --
101* -- LAPACK is a software package provided by Univ. of Tennessee, --
102* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
103*
104* .. Scalar Arguments ..
105 CHARACTER*3 TYPE
106 INTEGER IE, IMAT, IOUNIT, M, N, NTESTS
107 DOUBLE PRECISION THRESH
108* ..
109* .. Array Arguments ..
110 INTEGER ISEED( 4 )
111 DOUBLE PRECISION RESULT( * )
112* ..
113*
114* =====================================================================
115*
116* .. Local Scalars ..
117 INTEGER K
118* ..
119* .. External Subroutines ..
120 EXTERNAL dlahd2
121* ..
122* .. Executable Statements ..
123*
124 IF( m.EQ.n ) THEN
125*
126* Output for square matrices:
127*
128 DO 10 k = 1, ntests
129 IF( result( k ).GE.thresh ) THEN
130*
131* If this is the first test to fail, call DLAHD2
132* to print a header to the data file.
133*
134 IF( ie.EQ.0 )
135 $ CALL dlahd2( iounit, TYPE )
136 ie = ie + 1
137 IF( result( k ).LT.10000.0d0 ) THEN
138 WRITE( iounit, fmt = 9999 )n, imat, iseed, k,
139 $ result( k )
140 9999 FORMAT( ' Matrix order=', i5, ', type=', i2,
141 $ ', seed=', 4( i4, ',' ), ' result ', i3, ' is',
142 $ 0p, f8.2 )
143 ELSE
144 WRITE( iounit, fmt = 9998 )n, imat, iseed, k,
145 $ result( k )
146 9998 FORMAT( ' Matrix order=', i5, ', type=', i2,
147 $ ', seed=', 4( i4, ',' ), ' result ', i3, ' is',
148 $ 1p, d10.3 )
149 END IF
150 END IF
151 10 CONTINUE
152 ELSE
153*
154* Output for rectangular matrices
155*
156 DO 20 k = 1, ntests
157 IF( result( k ).GE.thresh ) THEN
158*
159* If this is the first test to fail, call DLAHD2
160* to print a header to the data file.
161*
162 IF( ie.EQ.0 )
163 $ CALL dlahd2( iounit, TYPE )
164 ie = ie + 1
165 IF( result( k ).LT.10000.0d0 ) THEN
166 WRITE( iounit, fmt = 9997 )m, n, imat, iseed, k,
167 $ result( k )
168 9997 FORMAT( 1x, i5, ' x', i5, ' matrix, type=', i2, ', s',
169 $ 'eed=', 3( i4, ',' ), i4, ': result ', i3,
170 $ ' is', 0p, f8.2 )
171 ELSE
172 WRITE( iounit, fmt = 9996 )m, n, imat, iseed, k,
173 $ result( k )
174 9996 FORMAT( 1x, i5, ' x', i5, ' matrix, type=', i2, ', s',
175 $ 'eed=', 3( i4, ',' ), i4, ': result ', i3,
176 $ ' is', 1p, d10.3 )
177 END IF
178 END IF
179 20 CONTINUE
180*
181 END IF
182 RETURN
183*
184* End of DLAFTS
185*
subroutine dlahd2(iounit, path)
DLAHD2
Definition dlahd2.f:65
Here is the call graph for this function:
Here is the caller graph for this function: