rand_vpe.f

来自「网络带宽测试工具」· F 代码 · 共 36 行

F
36
字号
      Subroutine rand_vpe( npes, info, lst )! ----------------------------------------------------------------------      Use      numerics      Implicit None      Integer, Intent(In)                       :: npes      Integer, Intent(Out), Dimension(0:npes-1) :: lst       Logical, Intent(Out), dimension(0:npes-1) :: info      Integer, Dimension (0:(npes/2) - 1) :: pv      Logical  :: f      Integer  :: i, j, k, n, np       Real(l_) :: r! ----------------------------------------------------------------------       np = npes/2      Do i = 0, np-1         pv(i) = i + np      End Do      Do i = 0, np-1         j = pv(i)         Call random_number( Harvest = r )         k = Int( r*(np-1) + 0.5_l_ )         pv (i) = pv(k)         pv (k) = j      End Do      Do i = 0, np - 1         lst (i) = pv(i)         lst (pv(i)) = i         Call random_number( Harvest = r )         n = Int( r + 0.5_l_ )         f = .FALSE.         if ( n == 0 ) f = .TRUE.          info (i) = f         info(pv(i)) = .NOT. f      End Do! ----------------------------------------------------------------------       End subroutine rand_vpe

⌨️ 快捷键说明

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