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

📄 efvec.f

📁 网络带宽测试工具
💻 F
📖 第 1 页 / 共 3 页
字号:
! ---------------------------------------------------------------------      m = m + 1      If ( m > maxi ) Go To 900       a =  0.75_l_      b =  1.0_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 =  -1.0_l_      b =  -0.75_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 =  -1.0_l_/16.0_l_      b =   1.0_l_/16.0_l_      ident(m) = 'Atan'      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) = Atan( 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 =  1.0_l_/16.0_l_      b =  2.0_l_-Sqrt( 3.0_l_ )      ident(m) = 'Atan'      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) = Atan( 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 =  2.0_l_ - Sqrt( 3.0_l_ )      b =  Sqrt( 2.0_l_ ) - 1.0_l_      ident(m) = 'Atan'      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) = Atan( 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( 2.0_l_ ) - 1.0_l_      b =  1.0_l_      ident(m) = 'Atan'      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) = Atan( 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 =  0.5_l_      ident(m) = 'Sinh'      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) = Sinh( 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 =  0.5_l_      ident(m) = 'Cosh'      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) = Cosh( 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 =  3.0_l_      b =  Log( xmax )      ident(m) = 'Sinh'      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) = Sinh( 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 =  3.0_l_      b =  Log( xmax )      ident(m) = 'Cosh'      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) = Cosh( 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 =  Log ( 3.0_l_ )*0.5_l_      ident(m) = 'Tanh'      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) = Tanh( 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_ + Log( 3.0_l_ )*0.5_l_      b =  Log( 2.0_l_ ) + ( it + 1 )*Log( beta )*0.5_l_      ident(m) = 'Tanh'      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) = Tanh( 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! ---------------------------------------------------------------------- 900  maxi = Min( maxi, m )! ----------------------------------------------------------------------      End Subroutine efvec

⌨️ 快捷键说明

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