jp.gr.java_conf.dangan.util.lha
Class StaticHuffman
public class StaticHuffman
静的ハフマン用ユーティリティ関数群を保持する。
ハフマン符号は最大16ビットに§限される。
-- revision history --
$Log: StaticHuffman.java,v $
Revision 1.0 2002/07/24 00:00:00 dangan
add to version control
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
static int | LimitLen - LHAがDOSの16bitモードを使用して作られたことによる
ハフマン符号長の§限。
|
static int[] | FreqListToLenList(int[] FreqList) - 頻度表から ハフマン符号のビット長の表を作成する。
|
static int[] | FreqListToLenListOriginal(int[] FreqList) - 頻度表から ハフマン符号のビット長の表を作成する。
オリジナルのLHAと同じコードを出力する。
|
static int[] | LenListToCodeList(int[] LenList) - ハフマン符号長のリストから ハフマン符号表を作成する。
|
static short[] | createTable(int[] LenList) - LenList から、ハフマン復号用のテーブルを生成する。
|
static short[][] | createTableAndTree(int[] LenList, int TableBits) - LenList から、ハフマン復号用のテーブルと木を生成する。
テーブルは TableBits の大きさを持ち、それ以上の部分は木に格納される。
戻り値は new short[][]{ Table, Tree[0], Tree[1] } となる。
テーブルを引いた結果もしくは木を走査した際、負の値を得た場合、
それは復号化されたコードを全ビット反転したものである。
正の値であればそれは 木を走査するための index であり、
Tree[bit][index] のように使用する。
|
LimitLen
public static final int LimitLen
LHAがDOSの16bitモードを使用して作られたことによる
ハフマン符号長の§限。
FreqListToLenList
public static int[] FreqListToLenList(int[] FreqList)
頻度表から ハフマン符号のビット長の表を作成する。
FreqListToLenListOriginal
public static int[] FreqListToLenListOriginal(int[] FreqList)
頻度表から ハフマン符号のビット長の表を作成する。
オリジナルのLHAと同じコードを出力する。
LenListToCodeList
public static int[] LenListToCodeList(int[] LenList)
throws BadHuffmanTableException
ハフマン符号長のリストから ハフマン符号表を作成する。
createTable
public static short[] createTable(int[] LenList)
throws BadHuffmanTableException
LenList から、ハフマン復号用のテーブルを生成する。
createTableAndTree
public static short[][] createTableAndTree(int[] LenList,
int TableBits)
throws BadHuffmanTableException
LenList から、ハフマン復号用のテーブルと木を生成する。
テーブルは TableBits の大きさを持ち、それ以上の部分は木に格納される。
戻り値は new short[][]{ Table, Tree[0], Tree[1] } となる。
テーブルを引いた結果もしくは木を走査した際、負の値を得た場合、
それは復号化されたコードを全ビット反転したものである。
正の値であればそれは 木を走査するための index であり、
Tree[bit][index] のように使用する。
LenList
- ハフマン符号長の表TableBits
- ハフマン復号用テーブルの大きさ。
When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.