ilaenv.f.html
来自「famous linear algebra library (LAPACK) p」· HTML 代码 · 共 577 行 · 第 1/3 页
HTML
577 行
NBMIN = 2
END IF
ELSE IF( C3.EQ.<span class="string">'TRI'</span> ) THEN
IF( SNAME ) THEN
NBMIN = 2
ELSE
NBMIN = 2
END IF
END IF
ELSE IF( C2.EQ.<span class="string">'SY'</span> ) THEN
IF( C3.EQ.<span class="string">'TRF'</span> ) THEN
IF( SNAME ) THEN
NBMIN = 8
ELSE
NBMIN = 8
END IF
ELSE IF( SNAME .AND. C3.EQ.<span class="string">'TRD'</span> ) THEN
NBMIN = 2
END IF
ELSE IF( CNAME .AND. C2.EQ.<span class="string">'HE'</span> ) THEN
IF( C3.EQ.<span class="string">'TRD'</span> ) THEN
NBMIN = 2
END IF
ELSE IF( SNAME .AND. C2.EQ.<span class="string">'OR'</span> ) THEN
IF( C3( 1: 1 ).EQ.<span class="string">'G'</span> ) THEN
IF( C4.EQ.<span class="string">'QR'</span> .OR. C4.EQ.<span class="string">'RQ'</span> .OR. C4.EQ.<span class="string">'LQ'</span> .OR. C4.EQ.
$ <span class="string">'QL'</span> .OR. C4.EQ.<span class="string">'HR'</span> .OR. C4.EQ.<span class="string">'TR'</span> .OR. C4.EQ.<span class="string">'BR'</span> )
$ THEN
NBMIN = 2
END IF
ELSE IF( C3( 1: 1 ).EQ.<span class="string">'M'</span> ) THEN
IF( C4.EQ.<span class="string">'QR'</span> .OR. C4.EQ.<span class="string">'RQ'</span> .OR. C4.EQ.<span class="string">'LQ'</span> .OR. C4.EQ.
$ <span class="string">'QL'</span> .OR. C4.EQ.<span class="string">'HR'</span> .OR. C4.EQ.<span class="string">'TR'</span> .OR. C4.EQ.<span class="string">'BR'</span> )
$ THEN
NBMIN = 2
END IF
END IF
ELSE IF( CNAME .AND. C2.EQ.<span class="string">'UN'</span> ) THEN
IF( C3( 1: 1 ).EQ.<span class="string">'G'</span> ) THEN
IF( C4.EQ.<span class="string">'QR'</span> .OR. C4.EQ.<span class="string">'RQ'</span> .OR. C4.EQ.<span class="string">'LQ'</span> .OR. C4.EQ.
$ <span class="string">'QL'</span> .OR. C4.EQ.<span class="string">'HR'</span> .OR. C4.EQ.<span class="string">'TR'</span> .OR. C4.EQ.<span class="string">'BR'</span> )
$ THEN
NBMIN = 2
END IF
ELSE IF( C3( 1: 1 ).EQ.<span class="string">'M'</span> ) THEN
IF( C4.EQ.<span class="string">'QR'</span> .OR. C4.EQ.<span class="string">'RQ'</span> .OR. C4.EQ.<span class="string">'LQ'</span> .OR. C4.EQ.
$ <span class="string">'QL'</span> .OR. C4.EQ.<span class="string">'HR'</span> .OR. C4.EQ.<span class="string">'TR'</span> .OR. C4.EQ.<span class="string">'BR'</span> )
$ THEN
NBMIN = 2
END IF
END IF
END IF
<a name="ILAENV.420"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = NBMIN
RETURN
<span class="comment">*</span><span class="comment">
</span> 70 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 3: crossover point
</span><span class="comment">*</span><span class="comment">
</span> NX = 0
IF( C2.EQ.<span class="string">'GE'</span> ) THEN
IF( C3.EQ.<span class="string">'QRF'</span> .OR. C3.EQ.<span class="string">'RQF'</span> .OR. C3.EQ.<span class="string">'LQF'</span> .OR. C3.EQ.
$ <span class="string">'QLF'</span> ) THEN
IF( SNAME ) THEN
NX = 128
ELSE
NX = 128
END IF
ELSE IF( C3.EQ.<span class="string">'HRD'</span> ) THEN
IF( SNAME ) THEN
NX = 128
ELSE
NX = 128
END IF
ELSE IF( C3.EQ.<span class="string">'BRD'</span> ) THEN
IF( SNAME ) THEN
NX = 128
ELSE
NX = 128
END IF
END IF
ELSE IF( C2.EQ.<span class="string">'SY'</span> ) THEN
IF( SNAME .AND. C3.EQ.<span class="string">'TRD'</span> ) THEN
NX = 32
END IF
ELSE IF( CNAME .AND. C2.EQ.<span class="string">'HE'</span> ) THEN
IF( C3.EQ.<span class="string">'TRD'</span> ) THEN
NX = 32
END IF
ELSE IF( SNAME .AND. C2.EQ.<span class="string">'OR'</span> ) THEN
IF( C3( 1: 1 ).EQ.<span class="string">'G'</span> ) THEN
IF( C4.EQ.<span class="string">'QR'</span> .OR. C4.EQ.<span class="string">'RQ'</span> .OR. C4.EQ.<span class="string">'LQ'</span> .OR. C4.EQ.
$ <span class="string">'QL'</span> .OR. C4.EQ.<span class="string">'HR'</span> .OR. C4.EQ.<span class="string">'TR'</span> .OR. C4.EQ.<span class="string">'BR'</span> )
$ THEN
NX = 128
END IF
END IF
ELSE IF( CNAME .AND. C2.EQ.<span class="string">'UN'</span> ) THEN
IF( C3( 1: 1 ).EQ.<span class="string">'G'</span> ) THEN
IF( C4.EQ.<span class="string">'QR'</span> .OR. C4.EQ.<span class="string">'RQ'</span> .OR. C4.EQ.<span class="string">'LQ'</span> .OR. C4.EQ.
$ <span class="string">'QL'</span> .OR. C4.EQ.<span class="string">'HR'</span> .OR. C4.EQ.<span class="string">'TR'</span> .OR. C4.EQ.<span class="string">'BR'</span> )
$ THEN
NX = 128
END IF
END IF
END IF
<a name="ILAENV.474"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = NX
RETURN
<span class="comment">*</span><span class="comment">
</span> 80 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 4: number of shifts (used by xHSEQR)
</span><span class="comment">*</span><span class="comment">
</span> <a name="ILAENV.481"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 6
RETURN
<span class="comment">*</span><span class="comment">
</span> 90 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 5: minimum column dimension (not used)
</span><span class="comment">*</span><span class="comment">
</span> <a name="ILAENV.488"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 2
RETURN
<span class="comment">*</span><span class="comment">
</span> 100 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 6: crossover point for SVD (used by xGELSS and xGESVD)
</span><span class="comment">*</span><span class="comment">
</span> <a name="ILAENV.495"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = INT( REAL( MIN( N1, N2 ) )*1.6E0 )
RETURN
<span class="comment">*</span><span class="comment">
</span> 110 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 7: number of processors (not used)
</span><span class="comment">*</span><span class="comment">
</span> <a name="ILAENV.502"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 1
RETURN
<span class="comment">*</span><span class="comment">
</span> 120 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 8: crossover point for multishift (used by xHSEQR)
</span><span class="comment">*</span><span class="comment">
</span> <a name="ILAENV.509"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 50
RETURN
<span class="comment">*</span><span class="comment">
</span> 130 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 9: maximum size of the subproblems at the bottom of the
</span><span class="comment">*</span><span class="comment"> computation tree in the divide-and-conquer algorithm
</span><span class="comment">*</span><span class="comment"> (used by xGELSD and xGESDD)
</span><span class="comment">*</span><span class="comment">
</span> <a name="ILAENV.518"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 25
RETURN
<span class="comment">*</span><span class="comment">
</span> 140 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 10: ieee NaN arithmetic can be trusted not to trap
</span><span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> <a name="ILAENV.525"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 0
</span> <a name="ILAENV.526"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 1
IF( <a name="ILAENV.527"></a><a href="hfy-index.html#ILAENV">ILAENV</a>.EQ.1 ) THEN
<a name="ILAENV.528"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = <a name="IEEECK.528"></a><a href="hfy-index.html#IEEECK">IEEECK</a>( 0, 0.0, 1.0 )
END IF
RETURN
<span class="comment">*</span><span class="comment">
</span> 150 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> ISPEC = 11: infinity arithmetic can be trusted not to trap
</span><span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> <a name="ILAENV.536"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 0
</span> <a name="ILAENV.537"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = 1
IF( <a name="ILAENV.538"></a><a href="hfy-index.html#ILAENV">ILAENV</a>.EQ.1 ) THEN
<a name="ILAENV.539"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = <a name="IEEECK.539"></a><a href="hfy-index.html#IEEECK">IEEECK</a>( 1, 0.0, 1.0 )
END IF
RETURN
<span class="comment">*</span><span class="comment">
</span> 160 CONTINUE
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> 12 <= ISPEC <= 16: xHSEQR or one of its subroutines.
</span><span class="comment">*</span><span class="comment">
</span> <a name="ILAENV.547"></a><a href="hfy-index.html#ILAENV">ILAENV</a> = <a name="IPARMQ.547"></a><a href="iparmq.f.html#IPARMQ.1">IPARMQ</a>( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
RETURN
<span class="comment">*</span><span class="comment">
</span><span class="comment">*</span><span class="comment"> End of <a name="ILAENV.550"></a><a href="hfy-index.html#ILAENV">ILAENV</a>
</span><span class="comment">*</span><span class="comment">
</span> END
</pre>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?