当前位置: 首页>>代码示例>>Java>>正文


Java Base.kNumLowLenSymbols方法代码示例

本文整理汇总了Java中SevenZip.Compression.LZMA.Base.kNumLowLenSymbols方法的典型用法代码示例。如果您正苦于以下问题:Java Base.kNumLowLenSymbols方法的具体用法?Java Base.kNumLowLenSymbols怎么用?Java Base.kNumLowLenSymbols使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SevenZip.Compression.LZMA.Base的用法示例。


在下文中一共展示了Base.kNumLowLenSymbols方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: Encode

import SevenZip.Compression.LZMA.Base; //导入方法依赖的package包/类
public void Encode(SevenZip.Compression.RangeCoder.Encoder rangeEncoder, int symbol, int posState) throws IOException
{
	if (symbol < Base.kNumLowLenSymbols)
	{
		rangeEncoder.Encode(_choice, 0, 0);
		_lowCoder[posState].Encode(rangeEncoder, symbol);
	}
	else
	{
		symbol -= Base.kNumLowLenSymbols;
		rangeEncoder.Encode(_choice, 0, 1);
		if (symbol < Base.kNumMidLenSymbols)
		{
			rangeEncoder.Encode(_choice, 1, 0);
			_midCoder[posState].Encode(rangeEncoder, symbol);
		}
		else
		{
			rangeEncoder.Encode(_choice, 1, 1);
			_highCoder.Encode(rangeEncoder, symbol - Base.kNumMidLenSymbols);
		}
	}
}
 
开发者ID:petersalomonsen,项目名称:frinika,代码行数:24,代码来源:Encoder.java

示例2: SetPrices

import SevenZip.Compression.LZMA.Base; //导入方法依赖的package包/类
public void SetPrices(int posState, int numSymbols, int[] prices, int st)
{
	int a0 = SevenZip.Compression.RangeCoder.Encoder.GetPrice0(_choice[0]);
	int a1 = SevenZip.Compression.RangeCoder.Encoder.GetPrice1(_choice[0]);
	int b0 = a1 + SevenZip.Compression.RangeCoder.Encoder.GetPrice0(_choice[1]);
	int b1 = a1 + SevenZip.Compression.RangeCoder.Encoder.GetPrice1(_choice[1]);
	int i = 0;
	for (i = 0; i < Base.kNumLowLenSymbols; i++)
	{
		if (i >= numSymbols)
			return;
		prices[st + i] = a0 + _lowCoder[posState].GetPrice(i);
	}
	for (; i < Base.kNumLowLenSymbols + Base.kNumMidLenSymbols; i++)
	{
		if (i >= numSymbols)
			return;
		prices[st + i] = b0 + _midCoder[posState].GetPrice(i - Base.kNumLowLenSymbols);
	}
	for (; i < numSymbols; i++)
		prices[st + i] = b1 + _highCoder.GetPrice(i - Base.kNumLowLenSymbols - Base.kNumMidLenSymbols);
}
 
开发者ID:petersalomonsen,项目名称:frinika,代码行数:23,代码来源:Encoder.java

示例3: Decode

import SevenZip.Compression.LZMA.Base; //导入方法依赖的package包/类
public int Decode(SevenZip.Compression.RangeCoder.Decoder rangeDecoder, int posState) throws IOException
{
	if (rangeDecoder.DecodeBit(m_Choice, 0) == 0)
		return m_LowCoder[posState].Decode(rangeDecoder);
	int symbol = Base.kNumLowLenSymbols;
	if (rangeDecoder.DecodeBit(m_Choice, 1) == 0)
		symbol += m_MidCoder[posState].Decode(rangeDecoder);
	else
		symbol += Base.kNumMidLenSymbols + m_HighCoder.Decode(rangeDecoder);
	return symbol;
}
 
开发者ID:petersalomonsen,项目名称:frinika,代码行数:12,代码来源:Decoder.java

示例4: Decode

import SevenZip.Compression.LZMA.Base; //导入方法依赖的package包/类
public int Decode(SevenZip.Compression.RangeCoder.Decoder rangeDecoder, int posState) throws IOException {
    if (rangeDecoder.DecodeBit(m_Choice, 0) == 0)
        return m_LowCoder[posState].Decode(rangeDecoder);
    int symbol = Base.kNumLowLenSymbols;
    if (rangeDecoder.DecodeBit(m_Choice, 1) == 0)
        symbol += m_MidCoder[posState].Decode(rangeDecoder);
    else
        symbol += Base.kNumMidLenSymbols + m_HighCoder.Decode(rangeDecoder);
    return symbol;
}
 
开发者ID:Mobideck,项目名称:appdeck-android,代码行数:11,代码来源:Decoder.java


注:本文中的SevenZip.Compression.LZMA.Base.kNumLowLenSymbols方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。