eulsum.for

来自「Numerical Recipes一书中例子的源码所用到的函数集,William」· FOR 代码 · 共 29 行

FOR
29
字号
      SUBROUTINE eulsum(sum,term,jterm,wksp)
      INTEGER jterm
      REAL sum,term,wksp(jterm)
      INTEGER j,nterm
      REAL dum,tmp
      SAVE nterm
      if(jterm.eq.1)then
        nterm=1
        wksp(1)=term
        sum=0.5*term
      else
        tmp=wksp(1)
        wksp(1)=term
        do 11 j=1,nterm-1
          dum=wksp(j+1)
          wksp(j+1)=0.5*(wksp(j)+tmp)
          tmp=dum
11      continue
        wksp(nterm+1)=0.5*(wksp(nterm)+tmp)
        if(abs(wksp(nterm+1)).le.abs(wksp(nterm)))then
          sum=sum+0.5*wksp(nterm+1)
          nterm=nterm+1
        else
          sum=sum+wksp(nterm+1)
        endif
      endif
      return
      END

⌨️ 快捷键说明

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