163 INTEGER FUNCTION ilaenv( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
171 CHARACTER*( * ) name, opts
172 INTEGER ispec, n1, n2, n3, n4
178 INTEGER i, ic, iz, nb, nbmin, nx
179 LOGICAL cname, sname, twostage
180 CHARACTER c1*1, c2*2, c4*2, c3*3, subnam*16
183 INTRINSIC char, ichar, int, min, real
191 GO TO ( 10, 10, 10, 80, 90, 100, 110, 120,
192 $ 130, 140, 150, 160, 160, 160, 160, 160)ispec
205 ic = ichar( subnam( 1: 1 ) )
207 IF( iz.EQ.90 .OR. iz.EQ.122 )
THEN
211 IF( ic.GE.97 .AND. ic.LE.122 )
THEN
212 subnam( 1: 1 ) = char( ic-32 )
214 ic = ichar( subnam( i: i ) )
215 IF( ic.GE.97 .AND. ic.LE.122 )
216 $ subnam( i: i ) = char( ic-32 )
220 ELSE IF( iz.EQ.233 .OR. iz.EQ.169 )
THEN
224 IF( ( ic.GE.129 .AND. ic.LE.137 ) .OR.
225 $ ( ic.GE.145 .AND. ic.LE.153 ) .OR.
226 $ ( ic.GE.162 .AND. ic.LE.169 ) )
THEN
227 subnam( 1: 1 ) = char( ic+64 )
229 ic = ichar( subnam( i: i ) )
230 IF( ( ic.GE.129 .AND. ic.LE.137 ) .OR.
231 $ ( ic.GE.145 .AND. ic.LE.153 ) .OR.
232 $ ( ic.GE.162 .AND. ic.LE.169 ) )subnam( i:
233 $ i ) = char( ic+64 )
237 ELSE IF( iz.EQ.218 .OR. iz.EQ.250 )
THEN
241 IF( ic.GE.225 .AND. ic.LE.250 )
THEN
242 subnam( 1: 1 ) = char( ic-32 )
244 ic = ichar( subnam( i: i ) )
245 IF( ic.GE.225 .AND. ic.LE.250 )
246 $ subnam( i: i ) = char( ic-32 )
252 sname = c1.EQ.
'S' .OR. c1.EQ.
'D'
253 cname = c1.EQ.
'C' .OR. c1.EQ.
'Z'
254 IF( .NOT.( cname .OR. sname ) )
259 twostage = len( subnam ).GE.11
260 $ .AND. subnam( 11: 11 ).EQ.
'2'
262 GO TO ( 50, 60, 70 )ispec
274 IF( subnam(2:6).EQ.
'LAORH' )
THEN
283 ELSE IF( c2.EQ.
'GE' )
THEN
284 IF( c3.EQ.
'TRF' )
THEN
290 ELSE IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR.
297 ELSE IF( c3.EQ.
'QR ')
THEN
301 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN
307 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN
320 ELSE IF( c3.EQ.
'LQ ')
THEN
324 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN
330 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN
343 ELSE IF( c3.EQ.
'HRD' )
THEN
349 ELSE IF( c3.EQ.
'BRD' )
THEN
355 ELSE IF( c3.EQ.
'TRI' )
THEN
362 ELSE IF( c2.EQ.
'PO' )
THEN
363 IF( c3.EQ.
'TRF' )
THEN
370 ELSE IF( c2.EQ.
'SY' )
THEN
371 IF( c3.EQ.
'TRF' )
THEN
385 ELSE IF( sname .AND. c3.EQ.
'TRD' )
THEN
387 ELSE IF( sname .AND. c3.EQ.
'GST' )
THEN
390 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN
391 IF( c3.EQ.
'TRF' )
THEN
397 ELSE IF( c3.EQ.
'TRD' )
THEN
399 ELSE IF( c3.EQ.
'GST' )
THEN
402 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN
403 IF( c3( 1: 1 ).EQ.
'G' )
THEN
404 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
405 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
409 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
410 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
411 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
416 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN
417 IF( c3( 1: 1 ).EQ.
'G' )
THEN
418 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
419 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
423 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
424 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
425 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
430 ELSE IF( c2.EQ.
'GB' )
THEN
431 IF( c3.EQ.
'TRF' )
THEN
446 ELSE IF( c2.EQ.
'PB' )
THEN
447 IF( c3.EQ.
'TRF' )
THEN
462 ELSE IF( c2.EQ.
'TR' )
THEN
463 IF( c3.EQ.
'TRI' )
THEN
469 ELSE IF ( c3.EQ.
'EVC' )
THEN
476 ELSE IF( c2.EQ.
'LA' )
THEN
477 IF( c3.EQ.
'UUM' )
THEN
484 ELSE IF( sname .AND. c2.EQ.
'ST' )
THEN
485 IF( c3.EQ.
'EBZ' )
THEN
488 ELSE IF( c2.EQ.
'GG' )
THEN
490 IF( c3.EQ.
'HD3' )
THEN
506 IF( c2.EQ.
'GE' )
THEN
507 IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR. c3.EQ.
514 ELSE IF( c3.EQ.
'HRD' )
THEN
520 ELSE IF( c3.EQ.
'BRD' )
THEN
526 ELSE IF( c3.EQ.
'TRI' )
THEN
533 ELSE IF( c2.EQ.
'SY' )
THEN
534 IF( c3.EQ.
'TRF' )
THEN
540 ELSE IF( sname .AND. c3.EQ.
'TRD' )
THEN
543 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN
544 IF( c3.EQ.
'TRD' )
THEN
547 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN
548 IF( c3( 1: 1 ).EQ.
'G' )
THEN
549 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
550 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
554 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
555 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
556 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
561 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN
562 IF( c3( 1: 1 ).EQ.
'G' )
THEN
563 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
564 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
568 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
569 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
570 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
575 ELSE IF( c2.EQ.
'GG' )
THEN
577 IF( c3.EQ.
'HD3' )
THEN
589 IF( c2.EQ.
'GE' )
THEN
590 IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR. c3.EQ.
597 ELSE IF( c3.EQ.
'HRD' )
THEN
603 ELSE IF( c3.EQ.
'BRD' )
THEN
610 ELSE IF( c2.EQ.
'SY' )
THEN
611 IF( sname .AND. c3.EQ.
'TRD' )
THEN
614 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN
615 IF( c3.EQ.
'TRD' )
THEN
618 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN
619 IF( c3( 1: 1 ).EQ.
'G' )
THEN
620 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
621 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
626 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN
627 IF( c3( 1: 1 ).EQ.
'G' )
THEN
628 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
629 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
634 ELSE IF( c2.EQ.
'GG' )
THEN
636 IF( c3.EQ.
'HD3' )
THEN
661 ilaenv = int( real( min( n1, n2 ) )*1.6e0 )