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

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

?? model-1.c

?? 包含Lzw,Huff1,Dhuff等等多種壓縮算法的源代碼包。
?? C
字號:
/*
 * Listing 9 -- model-1.c
 *
 * This is the modeling module for an order 0 fixed context
 * data compression program.  This is a relatively simple model.
 * The totals for all of the symbols are stored in an array accessed
 * under the name "totals".  This array has valid indices from -1
 * to 256.  The reason for having a -1 element is because the EOF
 * symbols is included in the table, and it has a value of -1.
 *
 * The total count for all the symbols is stored in totals[256], and
 * the low and high counts for symbol c are found in totals[c] and
 * totals[c+1].  The major performance problem with this is that
 * the update_model() routine on the average will have to increment
 * 128 totals, a very high cost operation.
 */
#include <stdio.h>
#include <stdlib.h>
#include "coder.h"
#include "model.h"

/*
 * In order to create an array with indices -1 through 256, I have
 * to do this funny declaration.  totals[-1] == storage[0].
 */
short int storage[ 258 ];
short int *totals = storage + 1;

/*
 * When the model is first started up, each symbols has a count of
 * 1, which means a low value of c+1, and a high value of c+2.
 */
void initialize_model()
{
    short int i;

    for ( i = -1 ; i <= 256 ; i++ )
        totals[ i ] = i + 1;
}

/*
 * Updating the model means incrementing every single count from
 * the high value for the symbol on up to the total.  Then, there
 * is a complication.  If the cumulative total has gone up to
 * the maximum value, we need to rescale.  Fortunately, the rescale
 * operation is relatively rare.
 */
void update_model( int symbol )
{
    int i;

    for ( symbol++ ; symbol <= 256; symbol++ )
        totals[ symbol ]++;
    if ( totals[ 256 ] == MAXIMUM_SCALE )
    {
        for ( i = 0 ; i <= 256 ; i++ )
	{
            totals[ i ] /= 2;
            if ( totals[ i ] <= totals[ i-1 ] )
                totals[ i ] = totals[ i-1 ] + 1;
	}
    }
}

/*
 * Finding the low count, high count, and scale for a symbol
 * is really easy, because of the way the totals are stored.
 * This is the one redeeming feature of the data structure used
 * in this implementation.  Note that this routine returns an
 * int, but it is not used in this routine.  The return value
 * from convert_int_to_symbol is used in model-2.c.
 */
int convert_int_to_symbol( int c, SYMBOL *s )
{
    s->scale = totals[ 256 ];
    s->low_count = totals[ c ];
    s->high_count = totals[ c+1 ];
    return( 0 );
}

/*
 * Getting the scale for the current context is easy.
 */
void get_symbol_scale( SYMBOL *s )
{
    s->scale = totals[ 256 ];
}

/*
 * During decompression, we have to search through the table until
 * we find the symbol that straddles the "count" parameter.  When
 * it is found, it is returned. The reason for also setting the
 * high count and low count is so that symbol can be properly removed
 * from the arithmetic coded input.
 */
int convert_symbol_to_int( int count, SYMBOL *s)
{
    int c;

    for ( c = 255; count < totals[ c ] ; c-- )
	;
    s->high_count = totals[ c+1 ];
    s->low_count = totals[ c ];
    return( c );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区免费在线观看| 日韩欧美综合一区| 国产精品免费观看视频| 国产99精品国产| 亚洲欧美日本韩国| 91成人看片片| 日本成人在线一区| 久久久美女艺术照精彩视频福利播放| 国产成人亚洲综合a∨婷婷图片| 国产精品久久久久久久久久免费看| 91日韩一区二区三区| 亚洲成人av一区二区三区| 日韩欧美亚洲一区二区| 国产99久久久久久免费看农村| 亚洲午夜免费福利视频| 欧美精选一区二区| 韩国理伦片一区二区三区在线播放| 久久久久久久av麻豆果冻| www.亚洲激情.com| 日韩高清电影一区| 国产精品久久久久毛片软件| 欧美日韩黄色影视| 国产精品18久久久久| 亚洲一区二区3| 久久久不卡影院| 欧美性受xxxx| 狠狠色丁香婷婷综合| 亚洲欧美另类久久久精品2019| 日韩午夜精品电影| 日本韩国欧美在线| 国产一区二区三区免费| 亚洲在线免费播放| 亚洲国产精品成人综合| 欧美军同video69gay| av电影一区二区| 黄网站免费久久| 亚洲国产综合91精品麻豆| 国产网红主播福利一区二区| 欧美欧美午夜aⅴ在线观看| 国产精品夜夜嗨| 日韩精品免费专区| 亚洲视频一区二区免费在线观看| 欧美一级二级三级蜜桃| 色94色欧美sute亚洲13| 国产suv精品一区二区6| 美洲天堂一区二卡三卡四卡视频| 亚洲欧美激情插| 久久久www免费人成精品| 欧美精品久久一区二区三区| 色综合欧美在线视频区| 国产成人精品综合在线观看 | 欧美videossexotv100| 91麻豆精品一区二区三区| 国内精品伊人久久久久av影院| 夜夜嗨av一区二区三区中文字幕| 国产午夜精品理论片a级大结局| 欧美一区二区三区啪啪| 欧美精品一卡二卡| 精品视频一区三区九区| 色综合一个色综合| 福利一区二区在线| 国产激情偷乱视频一区二区三区| 免费亚洲电影在线| 日本欧美一区二区三区乱码| 亚洲自拍与偷拍| 亚洲一区二区黄色| 亚洲精品综合在线| 亚洲综合区在线| 亚洲综合免费观看高清完整版| 欧美国产国产综合| 国产精品国产三级国产aⅴ入口 | 日本精品一区二区三区高清| 成人午夜激情在线| 国产成人免费视频精品含羞草妖精| 美女一区二区视频| 精品在线播放免费| 国产一区二区在线看| 国内精品国产三级国产a久久| 久久99精品国产91久久来源| 精品一区二区日韩| 国产精品综合二区| 国产精品一区二区91| 美女一区二区视频| 国产一区 二区 三区一级| 国产乱一区二区| 国产成人高清视频| 99视频在线精品| 色婷婷精品大视频在线蜜桃视频 | 欧美日韩视频在线一区二区| 欧美性极品少妇| 日韩一二三区视频| 久久久五月婷婷| 综合欧美亚洲日本| 亚洲最大的成人av| 日韩经典一区二区| 国产一区二区福利视频| 成人深夜视频在线观看| 在线亚洲高清视频| 日韩欧美久久一区| 国产欧美日韩视频一区二区| |精品福利一区二区三区| 亚洲综合久久av| 免费观看日韩电影| 成+人+亚洲+综合天堂| 欧美日韩三级一区| 久久久三级国产网站| 一区二区在线观看视频| 免费观看日韩电影| 99久久99久久精品国产片果冻 | 99久久精品费精品国产一区二区 | 91精品久久久久久久99蜜桃| xnxx国产精品| 亚洲免费伊人电影| 激情图区综合网| 色八戒一区二区三区| 日韩欧美在线影院| 综合精品久久久| 国模大尺度一区二区三区| 色婷婷久久综合| 国产午夜精品一区二区三区四区 | 国产精品久久久久久亚洲伦 | 日韩欧美国产成人一区二区| 国产色婷婷亚洲99精品小说| 一区二区高清在线| 精品综合免费视频观看| 91影院在线观看| 久久精品亚洲麻豆av一区二区| 亚洲精品成人精品456| 国产美女精品一区二区三区| 色综合久久久久网| 国产日韩欧美a| 蜜臀久久久久久久| 在线观看三级视频欧美| 国产区在线观看成人精品| 日本不卡的三区四区五区| 91色porny| 国产欧美日本一区视频| 另类小说色综合网站| 欧美日韩国产美| 尤物av一区二区| 高清av一区二区| 亚洲天天做日日做天天谢日日欢| 九九视频精品免费| 91精品国产一区二区人妖| 一区二区三区在线视频观看58| 成人一道本在线| 久久久国产午夜精品| 欧美bbbbb| 91精品国产日韩91久久久久久| 亚洲欧美一区二区久久| 成人av免费网站| 中文字幕第一区二区| 成人少妇影院yyyy| 日本一区二区三区dvd视频在线| 蜜桃av一区二区在线观看| 欧美精品aⅴ在线视频| 亚洲午夜在线视频| 欧美三级三级三级爽爽爽| 一区二区三区在线观看网站| 色综合天天做天天爱| 亚洲欧美日韩综合aⅴ视频| 99国产欧美久久久精品| 国产精品乱码一区二三区小蝌蚪| 丰满少妇久久久久久久| 中文字幕乱码久久午夜不卡| 国产成人激情av| 国产精品久久久久久久久免费丝袜 | 国模娜娜一区二区三区| 26uuu亚洲综合色| 国产激情91久久精品导航| 26uuu久久天堂性欧美| 国产999精品久久久久久| 中文字幕欧美激情一区| av电影一区二区| 亚洲综合丁香婷婷六月香| 欧美日韩视频在线第一区| 日韩二区三区在线观看| 日韩免费电影网站| 国产成人一级电影| 亚洲男人天堂av网| 欧美精品tushy高清| 久国产精品韩国三级视频| 欧美国产精品专区| 91丝袜国产在线播放| 五月天欧美精品| 精品久久99ma| 国产成人精品免费视频网站| 综合色天天鬼久久鬼色| 欧美日韩久久久一区| 久久97超碰色| 成人欧美一区二区三区黑人麻豆| 色婷婷av一区二区三区软件| 亚洲国产裸拍裸体视频在线观看乱了| 欧美一级理论性理论a| 国产精品69毛片高清亚洲| 亚洲男人的天堂一区二区| 91精品国产综合久久久久久| 国产精品资源在线看| 一区二区三区精品| 2019国产精品|