161 INTEGER FUNCTION ilaenv( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
168 CHARACTER*( * ) name, opts
169 INTEGER , n1, n2, n3, n4
175 INTEGER i, , iz, nb, nbmin, nx
176 LOGICAL cname, sname, twostage
177 CHARACTER *1, c2*2, c4*2, c3*3, subnam*16
180 INTRINSIC char, ichar, int,
min
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.
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.
229 $ ( ic.GE.162 .AND. ic.LE.
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.EQ.
IF( SUBNAM(2:6)'laorh
' ) THEN
280.EQ.
ELSE IF( C2'ge
' ) THEN
281.EQ.
IF( C3'trf
' ) THEN
287.EQ.
ELSE IF( C3'qrf.OR..EQ.
' C3'rqf.OR..EQ.
' C3'lqf.OR.
'
294.EQ.
ELSE IF( C3'qr
') THEN
298.LE..OR..LE.
IF ((N1*N2131072)(N18192)) THEN
304.LE..OR..LE.
IF ((N1*N2131072)(N18192)) THEN
317.EQ.
ELSE IF( C3'lq
') THEN
321.LE..OR..LE.
IF ((N1*N2131072)(N18192)) THEN
327.LE..OR..LE.
IF ((N1*N2131072)(N18192)) THEN
340.EQ.
ELSE IF( C3'hrd
' ) THEN
346.EQ.
ELSE IF( C3'brd
' ) THEN
352.EQ.
ELSE IF( C3'tri
' ) THEN
359.EQ.
ELSE IF( C2'po
' ) THEN
360.EQ.
IF( C3'trf
' ) THEN
367.EQ.
ELSE IF( C2'sy
' ) THEN
368.EQ.
IF( C3'trf
' ) THEN
382.AND..EQ.
ELSE IF( SNAME C3'trd
' ) THEN
384.AND..EQ.
ELSE IF( SNAME C3'gst
' ) THEN
387.AND..EQ.
ELSE IF( CNAME C2'he
' ) THEN
388.EQ.
IF( C3'trf
' ) THEN
394.EQ.
ELSE IF( C3'trd
' ) THEN
396.EQ.
ELSE IF( C3'gst
' ) THEN
399.AND..EQ.
ELSE IF( SNAME C2'or
' ) THEN
400.EQ.
IF( C3( 1: 1 )'g
' ) THEN
401.EQ.
IF( C4'qr.OR..EQ.
' C4'rq.OR..EQ.
' C4'lq.OR..EQ.
' C4
402 $ 'ql.OR..EQ.
' C4'hr.OR..EQ.
' C4'tr.OR..EQ.
' C4'br
' )
406.EQ.
ELSE IF( C3( 1: 1 )'m
' ) THEN
407.EQ.
IF( C4'qr.OR..EQ.
' C4'rq.OR..EQ.
' C4'lq.OR..EQ.
' C4
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..EQ.
' C4'lq.OR..EQ.
' C4
416 $ 'ql.OR..EQ.
' C4'hr.OR..EQ.
' C4'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..EQ.
' C3'lqf.OR..EQ.
' C3
511.EQ.
ELSE IF( C3'hrd
' ) THEN
517.EQ.
ELSE IF( C3'brd
' ) THEN
523.EQ.
ELSE IF( C3'tri
' ) THEN
530.EQ.
ELSE IF( C2'sy
' ) THEN
531.EQ.
IF( C3'trf
' ) THEN
537.AND..EQ.
ELSE IF( SNAME C3'trd
' ) THEN
540.AND..EQ.
ELSE IF( CNAME C2'he
' ) THEN
541.EQ.
IF( C3'trd
' ) THEN
544.AND..EQ.
ELSE IF( SNAME C2'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.EQ.
IF( C4'qr.OR..EQ.
' C4'rq.OR..EQ.
' C4'lq.OR..EQ.
' C4
561 $ 'ql.OR..EQ.
' C4'hr.OR..EQ.
' C4'tr.OR..EQ.
' C4'br
' )
565.EQ.
ELSE IF( C3( 1: 1 )'m
' ) THEN
566.EQ.
IF( C4'qr.OR..EQ.
' C4'rq.OR..EQ.
' C4'lq.OR..EQ.
' C4
567 $ 'ql.OR..EQ.
' C4'hr.OR..EQ.
' C4'tr.OR..EQ.
' C4'br
' )
572.EQ.
ELSE IF( C2'gg
' ) THEN
574.EQ.
IF( C3'hd3
' ) THEN
586.EQ.
IF( C2'ge
' ) THEN
587.EQ.
IF( C3'qrf.OR..EQ.
' C3'rqf.OR..EQ.
' C3'lqf.OR..EQ.
' C3
594.EQ.
ELSE IF( C3'hrd
' ) THEN
600.EQ.
ELSE IF( C3'brd
' ) THEN
607.EQ.
ELSE IF( C2'sy
' ) THEN
608.AND..EQ.
IF( SNAME C3'trd
' ) THEN
611.AND..EQ.
ELSE IF( CNAME C2'he
' ) THEN
612.EQ.
IF( C3'trd
' ) THEN
615.AND..EQ.
ELSE IF( SNAME C2'or
' ) THEN
616.EQ.
IF( C3( 1: 1 )'g
' ) THEN
617.EQ.
IF( C4'qr.OR..EQ.
' C4'rq.OR..EQ.
' C4'lq.OR..EQ.
' C4
618 $ 'ql.OR..EQ.
' C4'hr.OR..EQ.
' C4'tr.OR..EQ.
' C4'br
' )
623.AND..EQ.
ELSE IF( CNAME C2'un
' ) THEN
624.EQ.
IF( C3( 1: 1 )'g
' ) THEN
625.EQ.
IF( C4'qr.OR..EQ.
' C4'rq.OR..EQ.
' C4'lq.OR..EQ.
' C4
626 $ 'ql.OR..EQ.
' C4'hr.OR..EQ.
' C4'tr.OR..EQ.
' C4'br
' )
631.EQ.
ELSE IF( C2'gg
' ) THEN
633.EQ.
IF( C3'hd3
' ) THEN
658 ILAENV = INT( REAL( MIN( N1, N2 ) )*1.6E0 )
690.EQ.
IF( ILAENV1 ) THEN
691 ILAENV = IEEECK( 1, 0.0, 1.0 )
701.EQ.
IF( ILAENV1 ) THEN
702 ILAENV = IEEECK( 0, 0.0, 1.0 )
710 ILAENV = IPARMQ( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
integer function iparmq(ispec, name, opts, n, ilo, ihi, lwork)
IPARMQ
integer function ilaenv(ispec, name, opts, n1, n2, n3, n4)
ILAENV
integer function iparam2stage(ispec, name, opts, ni, nbi, ibi, nxi)
IPARAM2STAGE