Go to the source code of this file.
|
subroutine | alarqg (PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT) |
| ALARQG More...
|
|
subroutine alarqg |
( |
character*3 |
PATH, |
|
|
integer |
NMATS, |
|
|
logical, dimension( * ) |
DOTYPE, |
|
|
integer |
NTYPES, |
|
|
integer |
NIN, |
|
|
integer |
NOUT |
|
) |
| |
ALARQG
- Purpose:
ALARQG handles input for the LAPACK test program. It is called
to evaluate the input line which requested NMATS matrix types for
PATH. The flow of control is as follows:
If NMATS = NTYPES then
DOTYPE(1:NTYPES) = .TRUE.
else
Read the next input line for NMATS matrix types
Set DOTYPE(I) = .TRUE. for each valid type I
endif
- Parameters
-
[in] | PATH | PATH is CHARACTER*3
An LAPACK path name for testing. |
[in] | NMATS | NMATS is INTEGER
The number of matrix types to be used in testing this path. |
[out] | DOTYPE | DOTYPE is LOGICAL array, dimension (NTYPES)
The vector of flags indicating if each type will be tested. |
[in] | NTYPES | NTYPES is INTEGER
The maximum number of matrix types for this path. |
[in] | NIN | NIN is INTEGER
The unit number for input. NIN >= 1. |
[in] | NOUT | NOUT is INTEGER
The unit number for output. NOUT >= 1. |
- Author
- Univ. of Tennessee
-
Univ. of California Berkeley
-
Univ. of Colorado Denver
-
NAG Ltd.
- Date
- November 2011
Definition at line 92 of file alarqg.f.
100 INTEGER nin, nmats, nout, ntypes
113 INTEGER i, i1, ic, j, k, lenp, nt
122 DATA intstr /
'0123456789' /
126 IF( nmats.GE.ntypes )
THEN
135 dotype( i ) = .false.
141 IF( nmats.GT.0 )
THEN
142 READ( nin, fmt =
'(A80)', end = 90 )line
151 IF( j.EQ.nmats .AND. i1.GT.0 )
THEN
154 WRITE( nout, fmt = 9995 )line
155 WRITE( nout, fmt = 9994 )nmats
159 IF( line( i: i ).NE.
' ' .AND. line( i: i ).NE.
',' )
THEN
166 IF( c1.EQ.intstr( k: k ) )
THEN
171 WRITE( nout, fmt = 9996 )i, line
172 WRITE( nout, fmt = 9994 )nmats
175 nreq( j ) = 10*nreq( j ) + ic
177 ELSE IF( i1.GT.0 )
THEN
186 IF( nt.GT.0 .AND. nt.LE.ntypes )
THEN
187 IF( dotype( nt ) )
THEN
189 $
WRITE( nout, fmt = * )
191 WRITE( nout, fmt = 9997 )nt, path
193 dotype( nt ) = .true.
195 WRITE( nout, fmt = 9999 )path, nt, ntypes
196 9999
FORMAT(
' *** Invalid type request for ', a3,
', type ',
197 $ i4,
': must satisfy 1 <= type <= ', i2 )
205 WRITE( nout, fmt = 9998 )path
206 9998
FORMAT( /
' *** End of file reached when trying to read matrix ',
207 $
'types for ', a3, /
' *** Check that you are requesting the',
208 $
' right number of types for each path', / )
209 9997
FORMAT(
' *** Warning: duplicate request of matrix type ', i2,
211 9996
FORMAT( //
' *** Invalid integer value in column ', i2,
212 $
' of input',
' line:', /a79 )
213 9995
FORMAT( //
' *** Not enough matrix types on input line', /a79 )
214 9994
FORMAT(
' ==> Specify ', i4,
' matrix types on this line or ',
215 $
'adjust NTYPES on previous line' )
216 WRITE( nout, fmt = * )