lzss_compressor

sliding_window_compressを作りました。
特許に引っかかるとマズいので、一致文字列の検索はとりえず単純な検索(通称:バカサーチ)で実装しています。
sliding_window.hppの差分


また、スライド辞書のテスト用にLZSSのラッパーを用意しました。
<hamigaki/iostreams/filter/lzss.hpp>
テストコード


LZSSの高速化に関しては妙な方法を思いつきました。

  1. zlibのdeflateでLZSS+ハフマン符号化を行う
  2. ハフマンだけ復号する
  3. 結果、LZSSの出力が得られる

こうすれば、特許回避はzlibに任せられます。
ハフマン符号/復号の分遅くなりますが、バカサーチよりかは速いんじゃないかなぁと。
ただ、圧縮がかからずdeflateの結果が無圧縮になる場合もあるので、駄目かも。


あとは、tr1::unordered_multimapはハッシュ表じゃないと言い張るとか、、、。