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

📄 efvec.f

📁 网络带宽测试工具
💻 F
📖 第 1 页 / 共 3 页
字号:
            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  10.0_l_*Log( 2.0_l_ )      b =  Max( 10.0_l_*a, Log( 0.9_l_*xmax ) )      ident(m) = 'Exp'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1,nrep!$omp parallel do            Do i = 1, n               f(i) = Exp( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep         If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       eps = 1.0_l_      Do i = 1, it/3         eps = eps/beta      End Do      a =  1.0_l_ - eps      b =  1.0_l_ + eps      ident(m) = 'Log'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Log( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep          If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  Sqrt( 0.5_l_ )      b =  15.0_l_/16.0_l_      ident(m) = 'Log'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Log( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep          If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  Sqrt( 0.1_l_ )      b =  0.9_l_      ident(m) = 'Log10'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Log10( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep         If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  16.0_l_      b =  240.0_l_      ident(m) = 'Log'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Log( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep          If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  0.0_l_      b =  pi/4.0_l_      ident(m) = 'Tan'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Tan( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep         If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  pi*0.875_l_      b =  1.125_l_*pi      ident(m) = 'Tan'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Tan( x(i) )            End Do            Call ddummy( f, l )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep         If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  6.0_l_*pi      b =  a + pi*0.25_l_      ident(m) = 'Tan'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Tan( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep          If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  6.0_l_*pi      b =  a + pi*0.25_l_      ident(m) = 'Cot'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Cot( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep         If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  -0.125_l_      b =   0.125_l_      ident(m) = 'Asin'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Asin( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep         If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  -0.125_l_      b =   0.125_l_      ident(m) = 'Acos'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Acos( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep          If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  0.75_l_      b =  1.0_l_      ident(m) = 'Asin'      xint(m,1) = a      xint(m,2) = b      Do l = 1, nn         n = narr(l)         nrep = mrep/n         Call argx( a, b, n, x )         t1 = wclock()         Do j = 1, nrep!$omp parallel do            Do i = 1, n               f(i) = Asin( x(i) )            End Do            Call ddummy( f, j )         End Do         t2 = wclock() - t1! --- Correct for overhead.         ovhd = wclock()         Do j = 1, nrep            Call ddummy( f, j )         End Do         dt = ( t2 - wclock() + ovhd )/nrep         If ( dt > 0.0_l_ ) Then            tab(m,l) = ( factor/dt )*n         Else            tab(m,l) = 999.999         End If      End Do

⌨️ 快捷键说明

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