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

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

?? model-1.c

?? Lossless Data Compression Toolkit Version 1.1 of the lossless data compression toolkit by Nico deVri
?? 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一区二区三区免费野_久草精品视频
一区二区三区四区av| 亚洲欧美中日韩| 成人网男人的天堂| 日本欧美在线看| 亚洲视频 欧洲视频| 中文字幕+乱码+中文字幕一区| 91免费视频网| 国产盗摄视频一区二区三区| 香港成人在线视频| 一区二区三区日韩精品| 国产欧美一区二区在线| 精品欧美一区二区久久 | 一区二区三区高清在线| 久久久久九九视频| 日韩欧美精品三级| 欧美日韩国产欧美日美国产精品| 成人av动漫网站| 国产91对白在线观看九色| 麻豆国产一区二区| 视频一区二区三区在线| 亚洲专区一二三| 亚洲精品欧美二区三区中文字幕| 国产欧美va欧美不卡在线| 精品国产一区二区三区不卡 | 欧美一区三区四区| 日本精品裸体写真集在线观看| 丁香一区二区三区| 国产麻豆精品95视频| 紧缚奴在线一区二区三区| 免费av成人在线| 蜜臀久久99精品久久久久久9| 亚洲一区二区精品3399| 一区二区成人在线视频| 夜夜精品视频一区二区| 一区二区三国产精华液| 亚洲国产日韩精品| 午夜久久电影网| 日韩精品欧美精品| 久久精品国产99国产| 精品影视av免费| 国产一区在线观看视频| 日韩精品专区在线影院重磅| 在线观看日韩av先锋影音电影院| 国产成人夜色高潮福利影视| 一区二区在线观看视频在线观看| 成人午夜精品一区二区三区| 樱桃视频在线观看一区| 日韩欧美中文一区二区| 美女视频免费一区| 精品在线播放免费| 国产精品一线二线三线| 成人免费va视频| av不卡在线播放| 欧美自拍偷拍午夜视频| 欧美影院一区二区三区| 91精品国产综合久久蜜臀| 欧美一级夜夜爽| 精品久久人人做人人爱| 国产欧美视频在线观看| 综合久久久久久| 亚洲国产毛片aaaaa无费看| 日本网站在线观看一区二区三区| 久久99精品久久久久久动态图| 国产精品1024| 在线亚洲精品福利网址导航| 69堂成人精品免费视频| 久久精品综合网| 亚洲美女区一区| 日韩不卡在线观看日韩不卡视频| 老司机精品视频线观看86| 成人深夜福利app| 欧美色涩在线第一页| 国产一区二区三区免费在线观看| 最新日韩在线视频| 日本一区二区三区在线不卡| 一区二区三区精品| 国产一区二区在线看| 色综合色狠狠天天综合色| 精品1区2区3区| 国产午夜精品久久久久久久| 亚洲欧美精品午睡沙发| 麻豆91免费看| 中文字幕在线不卡国产视频| 专区另类欧美日韩| 午夜电影网一区| 国产一区在线观看视频| 一本在线高清不卡dvd| 精品国产亚洲在线| 亚洲欧美在线视频观看| 日一区二区三区| 99久久久免费精品国产一区二区| 欧美优质美女网站| 中文字幕av一区二区三区免费看 | 五月婷婷综合在线| 九九精品视频在线看| 91国偷自产一区二区三区观看| 4438x亚洲最大成人网| 偷拍日韩校园综合在线| 国产成人亚洲综合色影视| 欧美精选午夜久久久乱码6080| 久久久不卡网国产精品一区| 亚洲国产成人一区二区三区| 日韩在线一二三区| 国产风韵犹存在线视精品| 欧美日韩国产美| 亚洲午夜精品一区二区三区他趣| 波多野结衣视频一区| 麻豆91在线看| 久久久久久久综合| 亚洲韩国精品一区| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 欧美国产一区在线| 久久不见久久见中文字幕免费| 91久久久免费一区二区| 国产精品久久久久久久久免费桃花 | 激情国产一区二区| 91精品国产综合久久久久久久| 亚洲精品网站在线观看| 成人教育av在线| 国产日韩精品一区二区三区| 韩国精品主播一区二区在线观看| 欧美日韩国产高清一区| 亚洲超碰精品一区二区| 欧美日韩综合在线| 亚洲成人免费影院| 欧美性欧美巨大黑白大战| 亚洲精品大片www| 91福利在线看| 亚洲一区二区三区三| 欧美在线观看18| 夜夜操天天操亚洲| 欧美专区日韩专区| 亚洲一二三级电影| 欧美日韩视频一区二区| 亚洲国产你懂的| 欧美福利视频导航| 日韩成人dvd| 欧美va亚洲va| 国产一区 二区| 国产日韩欧美a| av资源网一区| 亚洲午夜影视影院在线观看| 欧美体内she精视频| 亚洲成年人网站在线观看| 久久久亚洲高清| 国产一区二区三区四区五区美女| 久久久久久久久免费| 高清beeg欧美| 亚洲欧美精品午睡沙发| 欧美日韩夫妻久久| 美女视频黄久久| 国产婷婷色一区二区三区| 不卡av免费在线观看| 亚洲一卡二卡三卡四卡| 91精品国产91久久久久久一区二区| 极品美女销魂一区二区三区免费| 久久久精品一品道一区| 91丨porny丨国产| 天天av天天翘天天综合网色鬼国产 | 91麻豆精品国产91久久久久| 久久成人免费日本黄色| 国产人妖乱国产精品人妖| 91捆绑美女网站| 免费一级片91| 国产精品欧美久久久久一区二区| 91看片淫黄大片一级在线观看| 香港成人在线视频| 久久精品欧美日韩精品| 一本久久精品一区二区| 日本在线不卡视频一二三区| 久久婷婷国产综合精品青草| jlzzjlzz亚洲女人18| 亚洲一区二区三区三| 久久久久久久久久久久电影| 92精品国产成人观看免费| 奇米色一区二区| 国产精品日韩成人| 欧美一区二区三区的| 国产91在线|亚洲| 亚洲成人自拍网| 国产精品三级视频| 日韩一区二区三区免费看| 99久久综合99久久综合网站| 日本一不卡视频| 亚洲品质自拍视频| 欧美大片拔萝卜| 不卡一卡二卡三乱码免费网站| 在线成人小视频| 国产精品色噜噜| 日韩av电影天堂| 国产在线一区二区| 日韩一区在线看| 日韩欧美亚洲另类制服综合在线| 国产精品一卡二卡| 午夜精品123| 亚洲日本乱码在线观看| 久久这里只有精品6| 欧美精品日日鲁夜夜添| a在线播放不卡| 福利一区在线观看|