161 INTEGER FUNCTION ilaenv( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
168 CHARACTER*( * ) name, opts
169 INTEGER ispec, , n2, n3, n4
175 INTEGER i, ic, iz, nb, nbmin, nx
177 CHARACTER c1*1, c2*2, c4*2, c3*3, subnam*16
180 INTRINSIC char, ichar, int,
min, real
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
473 ELSE IF( c2.EQ.
'LA' )
THEN
474 IF( c3.EQ.
'UUM' )
THEN
481 ELSE IF( sname .AND. c2.EQ.
'ST' )
THEN
482 IF( c3.EQ.
'EBZ' )
THEN
485 ELSE IF( c2.EQ.
'GG' )
THEN
487 IF( c3.EQ.
'HD3' )
THEN
503 IF( c2.EQ.
'GE' )
THEN
504 IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR. c3.EQ.
511 ELSE IF( c3.EQ.
'HRD' )
THEN
517 ELSE IF( c3.EQ.
'BRD' )
THEN
523 ELSE IF( c3.EQ.
'TRI' )
THEN
530 ELSE IF( c2.EQ.
'SY' )
THEN
531 IF( c3.EQ.
'TRF' )
THEN
537 ELSE IF( sname .AND. c3.EQ.
'TRD' )
THEN
540 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN
541 IF( c3.EQ.
'TRD' )
THEN
544 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN
545 IF( c3( 1: 1 ).EQ.
'G' )
THEN
546 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
547 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
551 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
552 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
553 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
558 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN
559 IF( c3( 1: 1 ).EQ.
'G' )
THEN
560 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
561 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
565 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
566 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
567 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
572 ELSE IF( c2.EQ.
'GG' )
THEN
574 IF( c3.EQ.
'HD3' )
THEN
586 IF( c2.EQ.
'GE' )
THEN
587 IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR. c3.EQ.
594 ELSE IF( c3.EQ.
'HRD' )
THEN
600 ELSE IF( c3.EQ.
'BRD' )
THEN
607 ELSE IF( c2.EQ.
'SY' )
THEN
608 IF( sname .AND. c3.EQ.
'TRD' )
THEN
611 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN
612 IF( c3.EQ.
'TRD' )
THEN
615 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN
616 IF( c3( 1: 1 ).EQ.
'G' )
THEN
617 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
618 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
623 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN
624 IF( c3( 1: 1 ).EQ.
'G' )
THEN
625 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
626 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
631 ELSE IF( c2.EQ.
'GG' )
THEN
633 IF( c3.EQ.
'HD3' )
THEN
658 ilaenv = int( real(
min( n1, n2 ) )*1.6e0 )