ハッシュ関数。
コンストラクタで渡された TextBuffer の position からの
データパタンの hash値を生成する。
ハッシュ関数。
コンストラクタで渡された TextBuffer 内の
position からのデータパタンの hash値を生成する。
ハッシュ関数。
コンストラクタで渡された TextBuffer の position からの
データパタンの hash値を生成する。
ハッシュと二分木を使った LzssSearchMethod の実装。
データ圧縮ハンドブック[改定第二版]
M.ネルソン/J.-L.ゲィリー 著
萩原剛志・山口英 訳
ISBN4-8101-8605-9
5728円(税抜き,当方の購入当時の価格)
を参考にした。
二分木では、最長一致を見つけることはできるが、
最も近い一致を見つけられるとは限らないため、
LZSSで 一致位置が近い場所に偏る事を
利用するような -lh5- のような圧縮法では、
圧縮率はいくらか低下する。
-- revision history --
$Log: HashAndBinaryTreeSearch.java,v $
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[change]
LzssSearchMethod のインタフェイス変更にあわせてインタフェイス変更
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
ハッシュと二分木を使用した検索機構を構築する。
ハッシュ関数はデフォルトのものを使用する。
ハッシュと二分木を使用した LzssSearchMethod を構築する。
ハッシュと単方向連結リストを使って高速化された LzssSearchMethod。
検索を打ち切ることによる高速化も行っているため、
必ず最長一致を見つけることが出来るとは限らない。
-- revision history --
$Log: HashAndChainedListSearch.java,v $
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[change]
LzssSearchMethod のインタフェイス変更にあわせてインタフェイス変更
[improvement]
ar940528 の TEST5相当 の実装に変更。
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
ハッシュと連結リストを使用した LzssSearchMethod を構築する。
ハッシュ関数と探索試行回数の上限値にはデフォルトのものが使用される。
ハッシュと連結リストを使用した LzssSearchMethod を構築する。
ハッシュ関数にはデフォルトのものが使用される。
ハッシュと連結リストを使用した LzssSearchMethod を構築する。
探索試行回数の上限値にはデフォルトのものが使用される。
ハッシュと連結リストを使用した LzssSearchMethod を構築する。
試作プログラム ar940528 や LHa for Unix で使用されているハッシュ関数。
gzip で使用されているを参考にしたようだ。
-- revision history --
$Log: HashDefault.java,v $
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[change]
HashMethod のインタフェイス変更にあわせてインテフェイス変更。
コンストラクタで引数チェックを削除。
[maintanance]
ソース整備
タブ廃止
ライセンス文の修正
ar940528 や LHa for Unix で使用されているハッシュ関数を構築する。
ハッシュ関数を提供するインターフェイス。
コンストラクタの形式は
HashMethod( byte[] TextBuffer )
パラメータ:
TextBuffer - LZSS圧縮を施すデータの入ったバッファ
のような形式に則ること。
また、追加の引数をとりたい場合は
HashMethod( byte[] TextBuffer,
Object ExtraData1,
Object ExtraData2 )
のような形式を用いる。
なお、コンストラクタの引数チェックは追加の引数がある場合について行えばよい。
-- revision history --
$Log: HashMethod.java,v $
Revision 1.0 2002/08/05 00:00:00 dangan
add to version cotrol
[change]
requiredSize() を hashRequires() に名前変更。
size() を tableSize() 名前変更。
[maintanance]
ソース整備
タブ廃止
ライセンス文の修正
ハッシュ関数がハッシュ値を生成するために使用するバイト数を得る。
このハッシュ関数は 3バイトのデータから
シフトとXORを使用してハッシュ値を生成するため、
このメソッドは常に 3 を返す。
ハッシュ関数が
ハッシュ値を生成するために使用するバイト数を得る。
ハッシュ関数がハッシュ値を生成するために使用するバイト数を得る。
このハッシュ関数はデータパタンの先頭 2 バイトのデータから
ハッシュ値を生成するため、このメソッドは常に 2 を返す。
データパタンの先頭2バイトから
0 〜 4095 のハッシュ値を生成するハッシュ関数。
-- revision history --
$Log: HashShort.java,v $
Revision 1.0 2002/08/05 00:00:00 dangan
add to version control
[change]
HashMethod のインタフェイス変更にあわせてインテフェイス変更。
[maintanance]
ソース整備
タブ廃止
ライセンス文の修正
データパタンの先頭2バイトから 0x000 〜 0xFFF までの値を生成する
ハッシュ関数を構築する。