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
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 )
integer function iparmq(ISPEC, NAME, OPTS, N, ILO, IHI, LWORK)
IPARMQ
integer function ieeeck(ISPEC, ZERO, ONE)
IEEECK
integer function ilaenv(ISPEC, NAME, OPTS, N1, N2, N3, N4)
ILAENV
integer function iparam2stage(ISPEC, NAME, OPTS, NI, NBI, IBI, NXI)
IPARAM2STAGE