hufdec.for

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

FOR
30
字号
      SUBROUTINE hufdec(ich,code,lcode,nb)
      INTEGER ich,lcode,nb,MC,MQ
      PARAMETER (MC=512,MQ=2*MC-1)
      INTEGER l,nc,nch,node,nodemx
      INTEGER icod(MQ),left(MQ),iright(MQ),ncod(MQ),nprob(MQ)
      LOGICAL btest
      CHARACTER*1 code(lcode)
      COMMON /hufcom/ icod,ncod,nprob,left,iright,nch,nodemx
      SAVE /hufcom/
      node=nodemx
1     continue
        nc=nb/8+1
        if (nc.gt.lcode)then
          ich=nch
          return
        endif
        l=mod(nb,8)
        nb=nb+1
        if(btest(ichar(code(nc)),l))then
          node=iright(node)
        else
          node=left(node)
        endif
        if(node.le.nch)then
          ich=node-1
          return
        endif
      goto 1
      END

⌨️ 快捷键说明

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