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

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

?? deflate.c

?? 匯編大全 中國礦業大學計算機學院 匯編實驗5
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* Copyright (C) 1990-1993 Mark Adler, Richard B. Wales, Jean-loup Gailly, Kai Uwe Rommel and Igor Mandrichenko. Permission is granted to any individual or institution to use, copy, or redistribute this software so long as all of the original files are included, that it is not sold for profit, and that this copyright notice is retained.*//* *  deflate.c by Jean-loup Gailly. * *  PURPOSE * *      Identify new text as repetitions of old text within a fixed- *      length sliding window trailing behind the new text. * *  DISCUSSION * *      The "deflation" process depends on being able to identify portions *      of the input text which are identical to earlier input (within a *      sliding window trailing behind the input currently being processed). * *      The most straightforward technique turns out to be the fastest for *      most input files: try all possible matches and select the longest. *      The key feature of this algorithm is that insertions into the string *      dictionary are very simple and thus fast, and deletions are avoided *      completely. Insertions are performed at each input character, whereas *      string matches are performed only when the previous match ends. So it *      is preferable to spend more time in matches to allow very fast string *      insertions and avoid deletions. The matching algorithm for small *      strings is inspired from that of Rabin & Karp. A brute force approach *      is used to find longer strings when a small match has been found. *      A similar algorithm is used in comic (by Jan-Mark Wams) and freeze *      (by Leonid Broukhis). *         A previous version of this file used a more sophisticated algorithm *      (by Fiala and Greene) which is guaranteed to run in linear amortized *      time, but has a larger average cost, uses more memory and is patented. *      However the F&G algorithm may be faster for some highly redundant *      files if the parameter max_chain_length (described below) is too large. * *  ACKNOWLEDGEMENTS * *      The idea of lazy evaluation of matches is due to Jan-Mark Wams, and *      I found it in 'freeze' written by Leonid Broukhis. *      Thanks to many info-zippers for bug reports and testing. * *  REFERENCES * *      APPNOTE.TXT documentation file in PKZIP 1.93a distribution. * *      A description of the Rabin and Karp algorithm is given in the book *         "Algorithms" by R. Sedgewick, Addison-Wesley, p252. * *      Fiala,E.R., and Greene,D.H. *         Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595 * *  INTERFACE * *      void lm_init (int pack_level, ush *flags) *          Initialize the "longest match" routines for a new file * *      ulg deflate (void) *          Processes a new input file and return its compressed length. Sets *          the compressed length, crc, deflate flags and internal file *          attributes. */#include "zip.h"/* =========================================================================== * Configuration parameters *//* Compile with MEDIUM_MEM to reduce the memory requirements or * with SMALL_MEM to use as little memory as possible. Use BIG_MEM if the * entire input file can be held in memory (not possible on 16 bit systems). * Warning: defining these symbols affects HASH_BITS (see below) and thus * affects the compression ratio. The compressed output * is still correct, and might even be smaller in some cases. */#ifdef SMALL_MEM#   define HASH_BITS  13  /* Number of bits used to hash strings */#endif#ifdef MEDIUM_MEM#   define HASH_BITS  14#endif#ifndef HASH_BITS#   define HASH_BITS  15   /* For portability to 16 bit machines, do not use values above 15. */#endif#define HASH_SIZE (unsigned)(1<<HASH_BITS)#define HASH_MASK (HASH_SIZE-1)#define WMASK     (WSIZE-1)/* HASH_SIZE and WSIZE must be powers of two */#define NIL 0/* Tail of hash chains */#define FAST 4#define SLOW 2/* speed options for the general purpose bit flag */#ifndef TOO_FAR#  define TOO_FAR 4096#endif/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */#ifdef ATARI_ST#  undef MSDOS /* avoid the processor specific parts */   /* (but the Atari should never define MSDOS anyway ...) */#endif#if defined(MSDOS) && !defined(NO_ASM) && !defined(ASMV)#  define ASMV#endif#if defined(ASMV) && !defined(MSDOS) && defined(DYN_ALLOC)  error: DYN_ALLOC not yet supported in match.s#endif#if defined(MSDOS) && !defined(__32BIT__)#  define MAXSEG_64K#endif/* =========================================================================== * Local data used by the "longest match" routines. */#if defined(BIG_MEM) || defined(MMAP)  typedef unsigned Pos; /* must be at least 32 bits */#else  typedef ush Pos;#endiftypedef unsigned IPos;/* A Pos is an index in the character window. We use short instead of int to * save space in the various tables. IPos is used only for parameter passing. */#ifndef DYN_ALLOC  uch    window[2L*WSIZE];  /* Sliding window. Input bytes are read into the second half of the window,   * and move to the first half later to keep a dictionary of at least WSIZE   * bytes. With this organization, matches are limited to a distance of   * WSIZE-MAX_MATCH bytes, but this ensures that IO is always   * performed with a length multiple of the block size. Also, it limits   * the window size to 64K, which is quite useful on MSDOS.   * To do: limit the window size to WSIZE+BSZ if SMALL_MEM (the code would   * be less efficient since the data would have to be copied WSIZE/BSZ times)   */  Pos    prev[WSIZE];  /* Link to older string with same hash index. To limit the size of this   * array to 64K, this link is maintained only for the last 32K strings.   * An index in this array is thus a window index modulo 32K.   */  Pos    head[HASH_SIZE];  /* Heads of the hash chains or NIL. If your compiler thinks that   * HASH_SIZE is a dynamic value, recompile with -DDYN_ALLOC.   */#else  uch    * near window = NULL;  Pos    * near prev   = NULL;  Pos    * near head;#endifulg window_size;/* window size, 2*WSIZE except for MMAP or BIG_MEM, where it is the * input file length plus MIN_LOOKAHEAD. */long block_start;/* window position at the beginning of the current output block. Gets * negative when the window is moved backwards. */local int sliding;/* Set to false when the input file is already in memory */local unsigned ins_h;  /* hash index of string to be inserted */#define H_SHIFT  ((HASH_BITS+MIN_MATCH-1)/MIN_MATCH)/* Number of bits by which ins_h and del_h must be shifted at each * input step. It must be such that after MIN_MATCH steps, the oldest * byte no longer takes part in the hash key, that is: *   H_SHIFT * MIN_MATCH >= HASH_BITS */unsigned int near prev_length;/* Length of the best match at previous step. Matches not greater than this * are discarded. This is used in the lazy match evaluation. */      unsigned near strstart;      /* start of string to insert */      unsigned near match_start;   /* start of matching string */local int           eofile;        /* flag set at end of input file */local unsigned      lookahead;     /* number of valid bytes ahead in window */unsigned near max_chain_length;/* To speed up deflation, hash chains are never searched beyond this length. * A higher limit improves compression ratio but degrades the speed. */local unsigned int max_lazy_match;/* Attempt to find a better match only when the current match is strictly * smaller than this value. This mechanism is used only for compression * levels >= 4. */#define max_insert_length  max_lazy_match/* Insert new strings in the hash table only if the match length * is not greater than this length. This saves time but degrades compression. * max_insert_length is used only for compression levels <= 3. */unsigned near good_match;/* Use a faster search when the previous match is longer than this *//* Values for max_lazy_match, good_match and max_chain_length, depending on * the desired pack level (0..9). The values given below have been tuned to * exclude worst case performance for pathological files. Better values may be * found for specific files. */typedef struct config {   ush good_length; /* reduce lazy search above this match length */   ush max_lazy;    /* do not perform lazy search above this match length */   ush nice_length; /* quit search above this match length */   ush max_chain;} config;#ifdef  FULL_SEARCH# define nice_match MAX_MATCH#else  int near nice_match; /* Stop searching when current match exceeds this */#endiflocal config configuration_table[10] = {/*      good lazy nice chain *//* 0 */ {0,    0,  0,    0},  /* store only *//* 1 */ {4,    4,  8,    4},  /* maximum speed, no lazy matches *//* 2 */ {4,    5, 16,    8},/* 3 */ {4,    6, 32,   32},/* 4 */ {4,    4, 16,   16},  /* lazy matches *//* 5 */ {8,   16, 32,   32},/* 6 */ {8,   16, 128, 128},/* 7 */ {8,   32, 128, 256},/* 8 */ {32, 128, 258, 1024},/* 9 */ {32, 258, 258, 4096}}; /* maximum compression *//* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4 * For deflate_fast() (levels <= 3) good is ignored and lazy has a different * meaning. */#define EQUAL 0/* result of memcmp for equal strings *//* =========================================================================== *  Prototypes for local functions. */local void fill_window   OF((void));local ulg deflate_fast   OF((void));      int  longest_match OF((IPos cur_match));#ifdef ASMV      void match_init OF((void)); /* asm code initialization */#endif#ifdef DEBUGlocal  void check_match OF((IPos start, IPos match, int length));#endif/* =========================================================================== * Update a hash value with the given input byte * IN  assertion: all calls to to UPDATE_HASH are made with consecutive *    input characters, so that a running hash key can be computed from the *    previous key instead of complete recalculation each time.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91亚洲国产成人精品一区二区三 | 亚洲国产成人私人影院tom| 日本亚洲电影天堂| 欧美va亚洲va香蕉在线| 精品一二三四区| 国产精品区一区二区三区| 成人av电影免费在线播放| 中文字幕佐山爱一区二区免费| 91美女在线观看| 亚洲成a人v欧美综合天堂| 欧美一区在线视频| 国产suv精品一区二区883| 亚洲免费在线观看视频| 欧美日韩国产高清一区二区三区 | 日本精品视频一区二区| 午夜精品福利视频网站 | 久久综合狠狠综合久久激情 | 欧美色窝79yyyycom| 天天综合日日夜夜精品| 久久综合狠狠综合久久综合88| eeuss鲁片一区二区三区| 一区二区三区小说| 精品免费一区二区三区| 99v久久综合狠狠综合久久| 亚洲不卡一区二区三区| 久久久国产精品麻豆| 在线一区二区三区做爰视频网站| 免费成人在线播放| 亚洲视频一区二区免费在线观看| 欧美一区二区三区人| 成人av电影免费观看| 免费精品视频在线| 亚洲精品欧美在线| 国产日韩成人精品| 7777精品伊人久久久大香线蕉超级流畅 | 欧美亚洲国产怡红院影院| 另类的小说在线视频另类成人小视频在线| 中文字幕乱码久久午夜不卡| 欧美妇女性影城| 99久久精品国产一区二区三区 | 国产精品亚洲午夜一区二区三区| 国产精品灌醉下药二区| 日韩一区二区三区视频在线| 99国产欧美久久久精品| 国产乱码精品1区2区3区| 婷婷夜色潮精品综合在线| 欧美激情一区在线| 精品国产一区a| 欧美日韩国产电影| 91一区二区三区在线播放| 国产一区二区伦理| 蜜桃久久久久久| 亚洲成人av电影| 一区二区三区四区蜜桃| 中文字幕欧美国产| 久久综合狠狠综合久久综合88| 91精品国产综合久久久久久| 精品999在线播放| 欧美视频你懂的| 色av一区二区| 色婷婷香蕉在线一区二区| 高清beeg欧美| 国产精品88888| 国产乱子伦视频一区二区三区| 偷拍亚洲欧洲综合| 亚洲va韩国va欧美va| 一区二区三区成人| 亚洲男人电影天堂| 一区二区三区在线视频观看58| 国产精品久久久久9999吃药| 国产日韩视频一区二区三区| 欧美精品一区二区三区视频| 精品三级在线观看| 久久久久综合网| 久久久久国产成人精品亚洲午夜| 久久久久久亚洲综合| 久久亚洲精品小早川怜子| 欧美精品一区二区不卡 | 久久久精品综合| 久久久久国产精品厨房| 久久久精品国产免费观看同学| 久久久国产精品午夜一区ai换脸| 久久久久久久久久久99999| 2014亚洲片线观看视频免费| 久久久久久久久久久久电影| 中文子幕无线码一区tr| 国产精品毛片大码女人| 亚洲乱码精品一二三四区日韩在线| 亚洲色图.com| 午夜av一区二区| 久久成人免费电影| 岛国一区二区在线观看| 97精品超碰一区二区三区| 欧美午夜理伦三级在线观看| 欧美一区二区三区视频免费播放| 精品91自产拍在线观看一区| 国产欧美日韩精品a在线观看| 中文字幕精品一区二区精品绿巨人 | 成人欧美一区二区三区白人| 亚洲女人的天堂| 午夜一区二区三区视频| 九九视频精品免费| 成人性生交大合| 在线电影一区二区三区| 久久先锋影音av鲁色资源网| 国产精品成人免费精品自在线观看 | 粉嫩13p一区二区三区| 色综合天天综合在线视频| 91精品国产91综合久久蜜臀| 国产午夜亚洲精品理论片色戒| 亚洲婷婷在线视频| 蜜桃精品在线观看| 不卡免费追剧大全电视剧网站| 欧美精品精品一区| 日本一区二区三级电影在线观看 | 欧美精品在线一区二区三区| 精品日韩一区二区三区| 亚洲男人的天堂av| 国产精品一区三区| 欧美午夜精品一区二区蜜桃| 久久久精品黄色| 婷婷夜色潮精品综合在线| 成人av先锋影音| 欧美成人一区二区三区片免费 | 成人av网站大全| 日韩欧美一区中文| 樱花影视一区二区| 国产aⅴ综合色| 日韩一区二区影院| 亚洲五月六月丁香激情| 成人免费视频一区二区| 日韩免费性生活视频播放| 一区二区三区日韩| 成人国产精品视频| 久久综合五月天婷婷伊人| 午夜激情一区二区三区| 99精品在线观看视频| 欧美精品一区二区三区在线| 日本不卡在线视频| 欧美在线免费观看亚洲| 自拍偷拍国产精品| 成熟亚洲日本毛茸茸凸凹| 欧美草草影院在线视频| 三级在线观看一区二区 | 91一区二区三区在线播放| 久久久噜噜噜久久人人看| 麻豆成人91精品二区三区| 欧美日韩高清影院| 亚洲国产综合在线| 欧美羞羞免费网站| 一区二区三区中文在线观看| 99久久99久久精品免费观看| 日本一区二区综合亚洲| 国产成人av电影在线观看| 欧美精品一区男女天堂| 韩国精品一区二区| 欧美成人a∨高清免费观看| 蓝色福利精品导航| 精品免费99久久| 美女国产一区二区| 精品少妇一区二区三区视频免付费| 青青草国产成人99久久| 欧美一二三区在线| 狠狠色综合播放一区二区| 精品欧美一区二区久久| 国产精品一区二区三区99| 久久亚洲二区三区| 国产**成人网毛片九色 | 99精品国产99久久久久久白柏| 欧美激情综合网| 99精品视频一区二区三区| 日韩理论在线观看| 一本大道久久a久久综合婷婷| 亚洲图片激情小说| 欧美三级视频在线| 视频在线观看一区二区三区| 欧美一区二区三区系列电影| 日本视频在线一区| 久久精品综合网| av毛片久久久久**hd| 一区二区三区 在线观看视频| 91九色最新地址| 日韩电影免费在线观看网站| 欧美不卡在线视频| gogogo免费视频观看亚洲一| 一级女性全黄久久生活片免费| 欧美日韩国产美| 国产美女在线观看一区| 自拍偷拍亚洲激情| 欧美一级xxx| www.亚洲免费av| 天天操天天干天天综合网| 精品国产麻豆免费人成网站| 高清beeg欧美| 天堂蜜桃91精品| 国产精品午夜在线观看| 欧美视频第二页| 国产99久久久久久免费看农村| 亚洲伊人色欲综合网| 欧美白人最猛性xxxxx69交|