ken-matsui added inline comments.
================ Comment at: clang/include/clang/Tooling/LevDistance.h:1 +//===--- LevDistance.h ------------------------------------------*- C++ -*-===// +// ---------------- ken-matsui wrote: > aaron.ballman wrote: > > You shouldn't need this file or the implementation file -- we have this > > functionality already in: > > https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/ADT/edit_distance.h > > and > > https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/ADT/StringRef.h#L240. > I totally missed the implementations! Sorry. > > But where should I put both `findSimilarStr` & `findSimilarStr`? > It seems that their same implementations aren't there. @aaron.ballman The computation results are not matched with my implementation and another language implementation. So, several directives that could be suggested in my implementation are no longer possible to be suggested, such as `#id` -> `#if`, `#elid` -> `#elif`, and `#elsi` -> `#else`, when using `llvm::ComputeEditDistance`. The implementation of `llvm::ComputeEditDistance` might be also correct, but some distances seem to be calculated longer, which causes fewer suggestions. Should I keep going with this implementation or not? --- [llvm::ComputeEditDistance](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/ADT/edit_distance.h): ``` size_t Dist = Str1.edit_distance(Str2, false); ``` ``` Str1: id, Str2: if, Dist: 2 # <-- here Str1: id, Str2: ifdef, Dist: 3 Str1: id, Str2: ifndef, Dist: 4 Str1: ifd, Str2: if, Dist: 1 Str1: ifd, Str2: ifdef, Dist: 2 Str1: ifd, Str2: ifndef, Dist: 3 ``` [My implementation](https://wandbox.org/permlink/zRjT41alOHdwcf00): ``` Str1: id, Str2: if, Dist: 1 # <-- here Str1: id, Str2: ifdef, Dist: 3 Str1: id, Str2: ifndef, Dist: 4 Str1: ifd, Str2: if, Dist: 1 Str1: ifd, Str2: ifdef, Dist: 2 Str1: ifd, Str2: ifndef, Dist: 3 ``` [Rustc implementation](https://wandbox.org/permlink/08SB08JFF5G4awx4): ``` Str1: id, Str2: if, Dist: 1 # <-- here Str1: id, Str2: ifdef, Dist: 3 Str1: id, Str2: ifndef, Dist: 4 Str1: ifd, Str2: if, Dist: 1 Str1: ifd, Str2: ifdef, Dist: 2 Str1: ifd, Str2: ifndef, Dist: 3 ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124726/new/ https://reviews.llvm.org/D124726 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits