⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wrtab.f

📁 网络带宽测试工具
💻 F
字号:
      Subroutine wrtab ( maxi, tab, nn, narr, ident, xint, yint )! ----------------------------------------------------------------------! --- Print data in table tab(i,j), i = 1,...,maxi, j = 1,...,nn.! ----------------------------------------------------------------------      Use                   numerics      Implicit              None      Integer            :: maxi, nn                              ! --- Standard output unit is assumed 6.      Integer, Parameter :: nfmax = 100, nmax = 50, inn = 4, lout = 6      Integer            :: narr(nmax)      Real(l_)           :: tab(nfmax,nmax)      Character(8)       :: ident(nfmax)      Real(l_)           :: xint(nfmax,2), yint(2)      Integer            :: i, i1, i2, j, k, m, n12      Real(l_)           :: dt, t12      Character          :: form1*37, form2*41! ----------------------------------------------------------------------      i1 = 1! ----------------------------------------------------------------------! --- At most 10 pages      Do k = 1, 10! --- Print heading! ----------------------------------------------------------------------         Print 100         Print 200         Print 300         If ( k > 1 ) Then            Print 400             Print 200         Else            Print 200         End If! ----------------------------------------------------------------------! --- Write title line for table          i2    = Min( nn, i1+inn )         form1 =  '(16x,''Interval      n='',  i9,''     '')'         Write( form1(25:26), '(i2)' ) i2 - i1 + 1         If ( i2 >= nn ) Then            form1(31:35) = ' n1/2'         End If         Write( lout, form1 ) ( narr(i) ,i = i1, i2 )         Print 200! ----------------------------------------------------------------------! --- Write table          Do m = 1, maxi! --- write m-th row of tab ..... ! ----------------------------------------------------------------------            form2 = '(1x,a8,''('',e10.3,'','',e10.3,'')'',  f9.3   )'            Write( form2(32:33), '(i2)' ) i2 - i1 + 1            If ( i2 < nn ) Then! ----------------------------------------------------------------------! --- ..... without n1/2                Write (lout,form2) ident(m), xint(m,1), xint(m,2),     &                            ( tab(m,i), i = i1, i2 )            Else! ----------------------------------------------------------------------! --- ..... With calculating n1/2 and printing it               t12 = tab(m,nn)/2               Do j = nn, 1, -1                  If ( tab(m,j) < t12 ) Then                     dt = tab(m,j+1) - tab(m,j)                     If ( dt > 0.0 ) Then                        n12 = narr(j) + ( narr(j+1) - narr(j) )*     &                     ( (t12 - tab(m,j) )/dt )                     Else                        n12 = narr(j)                     End If                     Go To 800                  End If               End Do               n12 = 0 800           Continue               form2(38:40) = ',i5'               Write ( lout, form2 ) ident(m), xint(m,1), xint(m,2),     &                               ( tab(m,i), i = i1,i2 ), n12            End If            If ( m == 3 ) Then            Print 500, yint(1), yint(2)         End If         If ( m ==  3 .OR. m ==  6 .OR. m ==  9 .OR.     &        m == 12 .OR. m == 16 .OR. m == 20 .OR.     &        m == 25 .OR. m == 29 .OR. m == 33 ) Print 600         End Do         If ( i2 >= nn ) Return         i1 = i2 + 1      End Do! ----------------------------------------------------------------------  100 Format( /'------------------------------------------------------',     &         '-----------------------' )  200 Format('  ')  300 Format( ' Performance rates in Mega-function-calls/sec.' )  400 Format( ' (Continued)' )  500 Format( 9x, '(', e10.3, ',', e10.3, ')' )  600 Format( 1x )! ----------------------------------------------------------------------      End Subroutine wrtab

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -