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
180 CHARACTER C1*1, C2*2, C4*2, C3*3, SUBNAM*6
183 INTRINSIC char, ichar, int, min, real
186 INTEGER IEEECK, IPARMQ, IPARAM2STAGE
187 EXTERNAL ieeeck, iparmq, iparam2stage
191 GO TO ( 10, 10, 10, 80, 90, 100, 110, 120,
192 $ 130, 140, 150, 160, 160, 160, 160, 160,
193 $ 170, 170, 170, 170, 170 )ispec
206 ic = ichar( subnam( 1: 1 ) )
208 IF( iz.EQ.90 .OR. iz.EQ.122 )
THEN
212 IF( ic.GE.97 .AND. ic.LE.122 )
THEN
213 subnam( 1: 1 ) = char( ic-32 )
215 ic = ichar( subnam( i: i ) )
216 IF( ic.GE.97 .AND. ic.LE.122 )
217 $ subnam( i: i ) = char( ic-32 )
221 ELSE IF( iz.EQ.233 .OR. iz.EQ.169 )
THEN
225 IF( ( ic.GE.129 .AND. ic.LE.137 ) .OR.
226 $ ( ic.GE.145 .AND. ic.LE.153 ) .OR.
227 $ ( ic.GE.162 .AND. ic.LE.169 ) )
THEN
228 subnam( 1: 1 ) = char( ic+64 )
230 ic = ichar( subnam( i: i ) )
231 IF( ( ic.GE.129 .AND. ic.LE.137 ) .OR.
232 $ ( ic.GE.145 .AND. ic.LE.153 ) .OR.
233 $ ( ic.GE.162 .AND. ic.LE.169 ) )subnam( i:
234 $ i ) = char( ic+64 )
238 ELSE IF( iz.EQ.218 .OR. iz.EQ.250 )
THEN
242 IF( ic.GE.225 .AND. ic.LE.250 )
THEN
243 subnam( 1: 1 ) = char( ic-32 )
245 ic = ichar( subnam( i: i ) )
246 IF( ic.GE.225 .AND. ic.LE.250 )
247 $ subnam( i: i ) = char( ic-32 )
253 sname = c1.EQ.
'S' .OR. c1.EQ.
'D'
254 cname = c1.EQ.
'C' .OR. c1.EQ.
'Z'
255 IF( .NOT.( cname .OR. sname ) )
261 GO TO ( 50, 60, 70 )ispec
273 IF( c2.EQ.
'GE' )
THEN
274 IF( c3.EQ.
'TRF' )
THEN
280 ELSE IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR.
287 ELSE IF( c3.EQ.
'QR ')
THEN
291 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN
297 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN
310 ELSE IF( c3.EQ.
'LQ ')
THEN
314 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN
320 IF ((n1*n2.LE.131072).OR.(n1.LE.8192))
THEN
333 ELSE IF( c3.EQ.
'HRD' )
THEN
339 ELSE IF( c3.EQ.
'BRD' )
THEN
345 ELSE IF( c3.EQ.
'TRI' )
THEN
352 ELSE IF( c2.EQ.
'PO' )
THEN
353 IF( c3.EQ.
'TRF' )
THEN
360 ELSE IF( c2.EQ.
'SY' )
THEN
361 IF( c3.EQ.
'TRF' )
THEN
367 ELSE IF( sname .AND. c3.EQ.
'TRD' )
THEN
369 ELSE IF( sname .AND. c3.EQ.
'GST' )
THEN
372 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN
373 IF( c3.EQ.
'TRF' )
THEN
375 ELSE IF( c3.EQ.
'TRD' )
THEN
377 ELSE IF( c3.EQ.
'GST' )
THEN
380 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN
381 IF( c3( 1: 1 ).EQ.
'G' )
THEN
382 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
383 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
387 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
388 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
389 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
394 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN
395 IF( c3( 1: 1 ).EQ.
'G' )
THEN
396 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
397 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
401 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
402 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
403 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
408 ELSE IF( c2.EQ.
'GB' )
THEN
409 IF( c3.EQ.
'TRF' )
THEN
424 ELSE IF( c2.EQ.
'PB' )
THEN
425 IF( c3.EQ.
'TRF' )
THEN
440 ELSE IF( c2.EQ.
'TR' )
THEN
441 IF( c3.EQ.
'TRI' )
THEN
447 ELSE IF ( c3.EQ.
'EVC' )
THEN
454 ELSE IF( c2.EQ.
'LA' )
THEN
455 IF( c3.EQ.
'UUM' )
THEN
462 ELSE IF( sname .AND. c2.EQ.
'ST' )
THEN
463 IF( c3.EQ.
'EBZ' )
THEN
466 ELSE IF( c2.EQ.
'GG' )
THEN
468 IF( c3.EQ.
'HD3' )
THEN
484 IF( c2.EQ.
'GE' )
THEN
485 IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR. c3.EQ.
492 ELSE IF( c3.EQ.
'HRD' )
THEN
498 ELSE IF( c3.EQ.
'BRD' )
THEN
504 ELSE IF( c3.EQ.
'TRI' )
THEN
511 ELSE IF( c2.EQ.
'SY' )
THEN
512 IF( c3.EQ.
'TRF' )
THEN
518 ELSE IF( sname .AND. c3.EQ.
'TRD' )
THEN
521 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN
522 IF( c3.EQ.
'TRD' )
THEN
525 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN
526 IF( c3( 1: 1 ).EQ.
'G' )
THEN
527 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
528 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
532 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
533 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
534 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
539 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN
540 IF( c3( 1: 1 ).EQ.
'G' )
THEN
541 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
542 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
546 ELSE IF( c3( 1: 1 ).EQ.
'M' )
THEN
547 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
548 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
553 ELSE IF( c2.EQ.
'GG' )
THEN
555 IF( c3.EQ.
'HD3' )
THEN
567 IF( c2.EQ.
'GE' )
THEN
568 IF( c3.EQ.
'QRF' .OR. c3.EQ.
'RQF' .OR. c3.EQ.
'LQF' .OR. c3.EQ.
575 ELSE IF( c3.EQ.
'HRD' )
THEN
581 ELSE IF( c3.EQ.
'BRD' )
THEN
588 ELSE IF( c2.EQ.
'SY' )
THEN
589 IF( sname .AND. c3.EQ.
'TRD' )
THEN
592 ELSE IF( cname .AND. c2.EQ.
'HE' )
THEN
593 IF( c3.EQ.
'TRD' )
THEN
596 ELSE IF( sname .AND. c2.EQ.
'OR' )
THEN
597 IF( c3( 1: 1 ).EQ.
'G' )
THEN
598 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
599 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
604 ELSE IF( cname .AND. c2.EQ.
'UN' )
THEN
605 IF( c3( 1: 1 ).EQ.
'G' )
THEN
606 IF( c4.EQ.
'QR' .OR. c4.EQ.
'RQ' .OR. c4.EQ.
'LQ' .OR. c4.EQ.
607 $
'QL' .OR. c4.EQ.
'HR' .OR. c4.EQ.
'TR' .OR. c4.EQ.
'BR' )
612 ELSE IF( c2.EQ.
'GG' )
THEN
614 IF( c3.EQ.
'HD3' )
THEN
639 ilaenv = int(
REAL( MIN( N1, N2 ) )*1.6e0 )
672 ilaenv = ieeeck( 1, 0.0, 1.0 )
683 ilaenv = ieeeck( 0, 0.0, 1.0 )
691 ilaenv = iparmq( ispec, name, opts, n1, n2, n3, n4 )
698 ilaenv = iparam2stage( ispec, name, opts, n1, n2, n3, n4 )
integer function ilaenv(ISPEC, NAME, OPTS, N1, N2, N3, N4)
ILAENV