亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? inftree.java

?? java 版本的zlib壓縮代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
    // Generate counts for each bit length    p = 0; i = n;    do {      c[b[bindex+p]]++; p++; i--;   // assume all entries <= BMAX    }while(i!=0);    if(c[0] == n){                // null input--all zero length codes      t[0] = -1;      m[0] = 0;      return Z_OK;    }    // Find minimum and maximum length, bound *m by those    l = m[0];    for (j = 1; j <= BMAX; j++)      if(c[j]!=0) break;    k = j;                        // minimum code length    if(l < j){      l = j;    }    for (i = BMAX; i!=0; i--){      if(c[i]!=0) break;    }    g = i;                        // maximum code length    if(l > i){      l = i;    }    m[0] = l;    // Adjust last length count to fill out codes, if needed    for (y = 1 << j; j < i; j++, y <<= 1){      if ((y -= c[j]) < 0){        return Z_DATA_ERROR;      }    }    if ((y -= c[i]) < 0){      return Z_DATA_ERROR;    }    c[i] += y;    // Generate starting offsets into the value table for each length    x[1] = j = 0;    p = 1;  xp = 2;    while (--i!=0) {                 // note that i == g from above      x[xp] = (j += c[p]);      xp++;      p++;    }    // Make a table of values in order of bit lengths    i = 0; p = 0;    do {      if ((j = b[bindex+p]) != 0){        v[x[j]++] = i;      }      p++;    }    while (++i < n);    n = x[g];                     // set n to length of v    // Generate the Huffman codes and for each, make the table entries    x[0] = i = 0;                 // first Huffman code is zero    p = 0;                        // grab values in bit order    h = -1;                       // no tables yet--level -1    w = -l;                       // bits decoded == (l * h)    u[0] = 0;                     // just to keep compilers happy    q = 0;                        // ditto    z = 0;                        // ditto    // go through the bit lengths (k already is bits in shortest code)    for (; k <= g; k++){      a = c[k];      while (a--!=0){	// here i is the Huffman code of length k bits for value *p	// make tables up to required level        while (k > w + l){          h++;          w += l;                 // previous table always l bits	  // compute minimum size table less than or equal to l bits          z = g - w;          z = (z > l) ? l : z;        // table size upper limit          if((f=1<<(j=k-w))>a+1){     // try a k-w bit table                                      // too few codes for k-w bit table            f -= a + 1;               // deduct codes from patterns left            xp = k;            if(j < z){              while (++j < z){        // try smaller tables up to z bits                if((f <<= 1) <= c[++xp])                  break;              // enough codes to use up j bits                f -= c[xp];           // else deduct codes from patterns              }	    }          }          z = 1 << j;                 // table entries for j-bit table	  // allocate new table          if (hn[0] + z > MANY){       // (note: doesn't matter for fixed)            return Z_DATA_ERROR;       // overflow of MANY          }          u[h] = q = /*hp+*/ hn[0];   // DEBUG          hn[0] += z; 	  // connect to last table, if there is one	  if(h!=0){            x[h]=i;           // save pattern for backing up            r[0]=(byte)j;     // bits in this table            r[1]=(byte)l;     // bits to dump before this table            j=i>>>(w - l);            r[2] = (int)(q - u[h-1] - j);               // offset to this table            System.arraycopy(r, 0, hp, (u[h-1]+j)*3, 3); // connect to last table          }          else{            t[0] = q;               // first table is returned result	  }        }	// set up table entry in r        r[1] = (byte)(k - w);        if (p >= n){          r[0] = 128 + 64;      // out of values--invalid code	}        else if (v[p] < s){          r[0] = (byte)(v[p] < 256 ? 0 : 32 + 64);  // 256 is end-of-block          r[2] = v[p++];          // simple code is just the value        }        else{          r[0]=(byte)(e[v[p]-s]+16+64); // non-simple--look up in lists          r[2]=d[v[p++] - s];        }        // fill code-like entries with r        f=1<<(k-w);        for (j=i>>>w;j<z;j+=f){          System.arraycopy(r, 0, hp, (q+j)*3, 3);	}	// backwards increment the k-bit code i        for (j = 1 << (k - 1); (i & j)!=0; j >>>= 1){          i ^= j;	}        i ^= j;	// backup over finished tables        mask = (1 << w) - 1;      // needed on HP, cc -O bug        while ((i & mask) != x[h]){          h--;                    // don't need to update q          w -= l;          mask = (1 << w) - 1;        }      }    }    // Return Z_BUF_ERROR if we were given an incomplete table    return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;  }  int inflate_trees_bits(int[] c,  // 19 code lengths                         int[] bb, // bits tree desired/actual depth                         int[] tb, // bits tree result                         int[] hp, // space for trees                         ZStream z // for messages                         ){    int result;    initWorkArea(19);    hn[0]=0;    result = huft_build(c, 0, 19, 19, null, null, tb, bb, hp, hn, v);    if(result == Z_DATA_ERROR){      z.msg = "oversubscribed dynamic bit lengths tree";    }    else if(result == Z_BUF_ERROR || bb[0] == 0){      z.msg = "incomplete dynamic bit lengths tree";      result = Z_DATA_ERROR;    }    return result;  }  int inflate_trees_dynamic(int nl,   // number of literal/length codes                            int nd,   // number of distance codes                            int[] c,  // that many (total) code lengths                            int[] bl, // literal desired/actual bit depth                            int[] bd, // distance desired/actual bit depth                             int[] tl, // literal/length tree result                            int[] td, // distance tree result                            int[] hp, // space for trees                            ZStream z // for messages                            ){    int result;    // build literal/length tree    initWorkArea(288);    hn[0]=0;    result = huft_build(c, 0, nl, 257, cplens, cplext, tl, bl, hp, hn, v);    if (result != Z_OK || bl[0] == 0){      if(result == Z_DATA_ERROR){        z.msg = "oversubscribed literal/length tree";      }      else if (result != Z_MEM_ERROR){        z.msg = "incomplete literal/length tree";        result = Z_DATA_ERROR;      }      return result;    }    // build distance tree    initWorkArea(288);    result = huft_build(c, nl, nd, 0, cpdist, cpdext, td, bd, hp, hn, v);    if (result != Z_OK || (bd[0] == 0 && nl > 257)){      if (result == Z_DATA_ERROR){        z.msg = "oversubscribed distance tree";      }      else if (result == Z_BUF_ERROR) {        z.msg = "incomplete distance tree";        result = Z_DATA_ERROR;      }      else if (result != Z_MEM_ERROR){        z.msg = "empty distance tree with lengths";        result = Z_DATA_ERROR;      }      return result;    }    return Z_OK;  }  static int inflate_trees_fixed(int[] bl,  //literal desired/actual bit depth                                 int[] bd,  //distance desired/actual bit depth                                 int[][] tl,//literal/length tree result                                 int[][] td,//distance tree result                                  ZStream z  //for memory allocation				 ){    bl[0]=fixed_bl;    bd[0]=fixed_bd;    tl[0]=fixed_tl;    td[0]=fixed_td;    return Z_OK;  }  private void initWorkArea(int vsize){    if(hn==null){      hn=new int[1];      v=new int[vsize];      c=new int[BMAX+1];      r=new int[3];      u=new int[BMAX];      x=new int[BMAX+1];    }    if(v.length<vsize){ v=new int[vsize]; }    for(int i=0; i<vsize; i++){v[i]=0;}    for(int i=0; i<BMAX+1; i++){c[i]=0;}    for(int i=0; i<3; i++){r[i]=0;}//  for(int i=0; i<BMAX; i++){u[i]=0;}    System.arraycopy(c, 0, u, 0, BMAX);//  for(int i=0; i<BMAX+1; i++){x[i]=0;}    System.arraycopy(c, 0, x, 0, BMAX+1);  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美极品美女视频| 欧美aaaaaa午夜精品| 日韩欧美色综合网站| 欧美日本一区二区三区四区 | 色综合久久久久综合体桃花网| www.66久久| 欧美日韩另类国产亚洲欧美一级| 欧美一卡二卡三卡| 亚洲成人激情综合网| 日韩avvvv在线播放| 蜜臀国产一区二区三区在线播放| 日本伊人精品一区二区三区观看方式| 日本网站在线观看一区二区三区| 国产一区二区电影| 欧美日韩国产精选| 国产精品美女视频| 另类成人小视频在线| 色婷婷av一区二区三区软件 | 中文字幕在线一区免费| 亚洲国产综合色| 国产精品99久| 欧美一级黄色片| 亚洲激情校园春色| 久久成人18免费观看| 91在线国产观看| 欧美裸体一区二区三区| 国产精品久99| 国产成人三级在线观看| 欧美喷潮久久久xxxxx| 中文字幕一区二区在线观看 | 国产精品美女久久久久久久久| 午夜精品成人在线视频| 成人黄色片在线观看| 欧美v日韩v国产v| 亚洲欧美激情在线| 成人av资源在线观看| 日韩一区二区三区视频| 一区二区三区四区视频精品免费| 国产不卡高清在线观看视频| 日韩亚洲欧美中文三级| 亚洲成av人片在www色猫咪| 成人网在线免费视频| 精品视频一区二区三区免费| 国产精品久久国产精麻豆99网站| 激情文学综合丁香| 欧美一区在线视频| 亚洲国产毛片aaaaa无费看| 91丝袜国产在线播放| 国产精品视频你懂的| 国产成人精品一区二区三区网站观看| 日韩三级免费观看| 日韩专区中文字幕一区二区| 欧美三区在线视频| 亚洲午夜精品17c| 欧美挠脚心视频网站| 亚洲精品视频在线观看免费| www.综合网.com| 国产欧美一区二区在线观看| 国产伦精品一区二区三区免费迷 | 日本一区二区三区在线观看| 久久精品72免费观看| 精品欧美久久久| 国产伦精品一区二区三区视频青涩| 久久女同互慰一区二区三区| 国产麻豆视频精品| 国产精品久久国产精麻豆99网站 | wwwwxxxxx欧美| 国产麻豆9l精品三级站| 国产精品理伦片| 97se亚洲国产综合自在线| 亚洲乱码国产乱码精品精98午夜 | 欧美一级日韩不卡播放免费| 老司机精品视频线观看86| 精品国产乱码久久久久久牛牛 | 欧美一区二区三区视频免费| 日韩精品视频网站| 欧美精品一区在线观看| 国产福利电影一区二区三区| 国产精品美女久久久久高潮| 91国产视频在线观看| 日韩经典一区二区| 久久久亚洲精品石原莉奈| 成人黄色一级视频| 首页国产丝袜综合| 国产亚洲制服色| 欧美在线免费观看视频| 日韩中文字幕区一区有砖一区 | 久久成人精品无人区| 国产精品久久777777| 91精品国产色综合久久不卡蜜臀 | 国产午夜精品一区二区三区嫩草| 成人黄色一级视频| 日本最新不卡在线| 国产精品国产三级国产aⅴ入口| 色吊一区二区三区| 狠狠网亚洲精品| 一区二区三区中文在线观看| 日韩一区二区高清| 色拍拍在线精品视频8848| 奇米影视在线99精品| 国产精品视频在线看| 日韩写真欧美这视频| 91在线一区二区| 午夜在线成人av| 国产精品久久三区| 精品国产乱码久久久久久1区2区| 91看片淫黄大片一级| 天天综合色天天综合色h| 精品福利av导航| 欧美日产国产精品| 国产福利精品一区| 蜜桃一区二区三区在线| 一区二区三区在线影院| 亚洲国产精品精华液ab| 91精品国产品国语在线不卡| 99麻豆久久久国产精品免费优播| 狠狠狠色丁香婷婷综合激情| 一区二区国产视频| 久久综合狠狠综合久久综合88 | 久久成人18免费观看| 亚洲电影一级片| 国产精品丝袜一区| 久久精品日韩一区二区三区| 91精品国产综合久久久久| 欧美系列在线观看| 91首页免费视频| 成人av在线资源网| 成人激情动漫在线观看| 韩国三级中文字幕hd久久精品| 中文字幕五月欧美| 欧美国产精品专区| 久久精品人人做人人爽人人| 精品剧情在线观看| 精品免费视频一区二区| 3d动漫精品啪啪| 欧美精选一区二区| www.99精品| 一本一道波多野结衣一区二区| www.成人网.com| 91社区在线播放| 一本色道久久综合亚洲91| 色综合天天综合| 在线看一区二区| 日本乱码高清不卡字幕| 夜色激情一区二区| 久久精品亚洲国产奇米99| 中文字幕在线不卡一区二区三区| 亚洲欧美另类久久久精品| 日本aⅴ精品一区二区三区| 国产成人亚洲综合a∨婷婷| 色综合夜色一区| 精品日产卡一卡二卡麻豆| 亚洲人成小说网站色在线| 日韩二区三区四区| 99riav久久精品riav| 日韩网站在线看片你懂的| 欧美国产在线观看| 日本中文在线一区| 99热在这里有精品免费| 日韩欧美在线一区二区三区| 国产精品丝袜91| 琪琪一区二区三区| 91精彩视频在线| 久久久国产精品麻豆| 亚洲成人黄色影院| 大陆成人av片| 日韩欧美你懂的| 一区二区高清在线| 国产成人在线视频网站| 91精品国产色综合久久| 一区二区在线免费观看| 国产成都精品91一区二区三| 欧美精品亚洲一区二区在线播放| 国产精品日产欧美久久久久| 久久精品国产99久久6| 欧美日韩精品免费观看视频| 国产精品网曝门| 精品影院一区二区久久久| 欧美日韩亚洲另类| 成人欧美一区二区三区视频网页| 久久不见久久见免费视频1| 欧美性猛片aaaaaaa做受| 国产精品视频线看| 国产乱子轮精品视频| 3751色影院一区二区三区| 伊人夜夜躁av伊人久久| 99精品黄色片免费大全| 中文av一区二区| 国产精品一级黄| 精品国产伦一区二区三区观看方式 | 国产亚洲人成网站| 麻豆91精品视频| 欧美一区二区三区视频在线观看| 亚洲狠狠爱一区二区三区| 日本高清成人免费播放| 综合电影一区二区三区| 99久久99久久精品免费看蜜桃| 国产日韩精品一区二区浪潮av| 国产真实精品久久二三区| 精品理论电影在线观看|