161 INTEGER FUNCTION ilaenv( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
168 CHARACTER*( * ) NAME, OPTS
169 INTEGER ISPEC, N1, N2, N3, N4
175 INTEGER I, IC, IZ, NB, NBMIN, NX
176 LOGICAL CNAME, SNAME, TWOSTAGE
177 CHARACTER C1*1, C2*2, C4*2, C3*3, SUBNAM*16
180 INTRINSIC char, ichar, int, min, real
183 INTEGER IEEECK, IPARMQ, IPARAM2STAGE
184 EXTERNAL ieeeck, iparmq, iparam2stage
188 GO TO ( 10, 10, 10, 80, 90, 100, 110, 120,
189 $ 130, 140, 150, 160, 160, 160, 160, 160, 160)ispec
202 ic = ichar( subnam( 1: 1 ) )
204 IF( iz.EQ.90 .OR. iz.EQ.122 )
THEN 208 IF( ic.GE.97 .AND. ic.LE.122 )
THEN 209 subnam( 1: 1 ) = char( ic-32 )
211 ic = ichar( subnam( i: i ) )
212 IF( ic.GE.97 .AND. ic.LE.122 )
213 $ subnam( i: i ) = char( ic-32 )
217 ELSE IF( iz.EQ.233 .OR. iz.EQ.169 )
THEN 221 IF( ( ic.GE.129 .AND. ic.LE.137 ) .OR.
222 $ ( ic.GE.145 .AND. ic.LE.153 ) .OR.
223 $ ( ic.GE.162 .AND. ic.LE.169 ) )
THEN 224 subnam( 1: 1 ) = char( ic+64 )
226 ic = ichar( subnam( i: i ) )
227 IF( ( ic.GE.129 .AND. ic.LE.137 ) .OR.
228 $ ( ic.GE.145 .AND. ic.LE.153 ) .OR.
229 $ ( ic.GE.162 .AND. ic.LE.169 ) )subnam( i:
230 $ i ) = char( ic+64 )
234 ELSE IF( iz.EQ.218 .OR. iz.EQ.250 )
THEN 238 IF( ic.GE.225 .AND. ic.LE.250 )
THEN 239 subnam( 1: 1 ) = char( ic-32 )
241 ic = ichar( subnam( i: i ) )
242 IF( ic.GE.225 .AND. ic.LE.250 )
243 $ subnam( i: i ) = char( ic-32 )
249 sname = c1.EQ.
'S' .OR. c1.EQ.
'D' 250 cname = c1.EQ.
'C' .OR. c1.EQ.
'Z' 251 IF( .NOT.( cname .OR. sname ) )
256 twostage = len( subnam ).GE.11
257 $ .AND. subnam( 11: 11 ).EQ.
'2' 259 GO TO ( 50, 60, 70 )ispec
271 IF( subnam(2:6).EQ.
'LAORH' )
THEN 280 ELSE IF( c2.EQ.
'GE' )
THEN 281 IF( c3.EQ.
'TRF' )
THEN 287 ELSE IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR.
294 ELSE IF( c3.EQ.
'QR ')
THEN 298 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN 304 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN 317 ELSE IF( c3.EQ.
'LQ ')
THEN 321 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN 327 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN 340 ELSE IF( c3.EQ.
'HRD' )
THEN 346 ELSE IF( c3.EQ.
'BRD' )
THEN 352 ELSE IF( c3.EQ.
'TRI' )
THEN 359 ELSE IF( c2.EQ.
'PO' )
THEN 360 IF( c3.EQ.
'TRF' )
THEN 367 ELSE IF( c2.EQ.
'SY' )
THEN 368 IF( c3.EQ.
'TRF' )
THEN 382 ELSE IF( sname .AND. c3.EQ.
'TRD' )
THEN 384 ELSE IF( sname .AND. c3.EQ.
'GST' )
THEN 387 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN 388 IF( c3.EQ.
'TRF' )
THEN 394 ELSE IF( c3.EQ.
'TRD' )
THEN 396 ELSE IF( c3.EQ.
'GST' )
THEN 399 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN 400 IF( c3( 1: 1 ).EQ.
'G' )
THEN 401 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
402 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
406 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN 407 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
408 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
413 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN 414 IF( c3( 1: 1 ).EQ.
'G' )
THEN 415 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
416 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
420 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN 421 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
422 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
427 ELSE IF( c2.EQ.
'GB' )
THEN 428 IF( c3.EQ.
'TRF' )
THEN 443 ELSE IF( c2.EQ.
'PB' )
THEN 444 IF( c3.EQ.
'TRF' )
THEN 459 ELSE IF( c2.EQ.
'TR' )
THEN 460 IF( c3.EQ.
'TRI' )
THEN 466 ELSE IF ( c3.EQ.
'EVC' )
THEN 472 ELSE IF( c3.EQ.
'SYL' )
THEN 475 nb = min( max( 48, int( ( min( n1, n2 ) * 16 ) / 100) ),
478 nb = min( max( 24, int( ( min( n1, n2 ) * 8 ) / 100) ),
482 ELSE IF( c2.EQ.
'LA' )
THEN 483 IF( c3.EQ.
'UUM' )
THEN 489 ELSE IF( c3.EQ.
'TRS' )
THEN 496 ELSE IF( sname .AND. c2.EQ.
'ST' )
THEN 497 IF( c3.EQ.
'EBZ' )
THEN 500 ELSE IF( c2.EQ.
'GG' )
THEN 502 IF( c3.EQ.
'HD3' )
THEN 518 IF( c2.EQ.
'GE' )
THEN 519 IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR. c3.EQ.
526 ELSE IF( c3.EQ.
'HRD' )
THEN 532 ELSE IF( c3.EQ.
'BRD' )
THEN 538 ELSE IF( c3.EQ.
'TRI' )
THEN 545 ELSE IF( c2.EQ.
'SY' )
THEN 546 IF( c3.EQ.
'TRF' )
THEN 552 ELSE IF( sname .AND. c3.EQ.
'TRD' )
THEN 555 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN 556 IF( c3.EQ.
'TRD' )
THEN 559 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN 560 IF( c3( 1: 1 ).EQ.
'G' )
THEN 561 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
562 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
566 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN 567 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
568 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
573 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN 574 IF( c3( 1: 1 ).EQ.
'G' )
THEN 575 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
576 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
580 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN 581 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
582 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
587 ELSE IF( c2.EQ.
'GG' )
THEN 589 IF( c3.EQ.
'HD3' )
THEN 601 IF( c2.EQ.
'GE' )
THEN 602 IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR. c3.EQ.
609 ELSE IF( c3.EQ.
'HRD' )
THEN 615 ELSE IF( c3.EQ.
'BRD' )
THEN 622 ELSE IF( c2.EQ.
'SY' )
THEN 623 IF( sname .AND. c3.EQ.
'TRD' )
THEN 626 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN 627 IF( c3.EQ.
'TRD' )
THEN 630 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN 631 IF( c3( 1: 1 ).EQ.
'G' )
THEN 632 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
633 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
638 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN 639 IF( c3( 1: 1 ).EQ.
'G' )
THEN 640 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
641 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
646 ELSE IF( c2.EQ.
'GG' )
THEN 648 IF( c3.EQ.
'HD3' )
THEN 673 ilaenv = int(
REAL( MIN( N1, N2 ) )*1.6e0 )
706 ilaenv = ieeeck( 1, 0.0, 1.0 )
717 ilaenv = ieeeck( 0, 0.0, 1.0 )
725 ilaenv = iparmq( ispec, name, opts, n1, n2, n3, n4 )
integer function ilaenv(ISPEC, NAME, OPTS, N1, N2, N3, N4)
ILAENV