rinit.f

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

F
42
字号
      Subroutine rinit( n, a, nprocs, me, x1, x2 )! ----------------------------------------------------------------------      Use                    numerics      Use                    ran_module      Implicit               None      Integer             :: n      Real(l_)            :: a(n)      Integer             :: nprocs, me      Integer(8)          :: x1, x2      Integer(8)          :: af1, af2, ci1, ci2      Integer(8)          :: i, j! ----------------------------------------------------------------------      ak1 = 1      ak2 = 1      ck1 = 0      ck2 = 0      Do i = 1, nprocs         af1 = ak1         af2 = ak2         ak1 = Mod( a1*ak1, m1 )         ak2 = Mod( a2*ak2, m2 )         ci1 = 0         Do j = 1, c1            ci1 = Mod( ci1 + af1, m1 )         End Do         ci2 = 0         Do j = 1, c2            ci2 = Mod( ci2 + af2, m2 )         End Do         ck1 = Mod( Mod( ck1, m1 ) + ci1, m1 )         ck2 = Mod( Mod( ck2, m2 ) + ci2, m2 )      End Do      Do i = 1, me + 97 + 1                      ! --- Warming up phase.         x1 = Mod( a1*x1 + c1, m1 )         x2 = Mod( a2*x2 + c2, m2 )      End Do      a(me+1) = ( Real( x1, l_ ) + Real( x2, l_ )*rm2 )*rm1! ----------------------------------------------------------------------      End Subroutine rinit

⌨️ 快捷键说明

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