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 &lt;= ISPEC &lt;= 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 + -
显示快捷键?