dtl-0.06

http://code.google.com/p/dtl-cpp/


dtl-0.06をリリースしました。


主な変更点は以下の通りです。

  • mergeがテキトーだったのを修正
  • 編集距離だけを記録するオプションを追加

mergeがテキトーだったのを修正

dtl-0.05のmergeがなんだかちゃんと動かないのは前々から把握していたのですが、長らくサボっていました。今はコンフリクトが発生しない場合は正しく動くようになっています。また、コンフリクトが発生した場合、現状のdiff3の実装ではコンフリクト発生時点までの要素列を返すようになっています。あとはこのへんをもうちょっとちゃんとして「ここからここまでコンフリクトしています」的なことができるようになったら、そろそろdtlのバージョンを1.00にしようかなと考えています。

編集距離だけを記録するオプション

今までdtlは差分を構築するcompose関数を呼び出すと編集距離、LCS、SESを全部計算していたのですが、単に編集距離だけ計算したいケースがあったので、追加してみました。使い方はこんな感じ。

  dtl::Diff< elem, sequence > d(A, B); // 初期化
  d.onOnlyEditDistance();              // 編集距離だけ記録する
  d.compose();                         // 差分を計算する