#saca #suffix #search #index #divsufsort

cdivsufsort

Rust bindings for Yuta Mori's divsufsort

2 stable releases

2.0.0 Nov 23, 2019
1.0.0 Nov 16, 2019

#863 in Algorithms

Download history 55/week @ 2022-10-08 29/week @ 2022-10-15 40/week @ 2022-10-22 90/week @ 2022-10-29 86/week @ 2022-11-05 49/week @ 2022-11-12 51/week @ 2022-11-19 27/week @ 2022-11-26 67/week @ 2022-12-03 69/week @ 2022-12-10 49/week @ 2022-12-17 38/week @ 2022-12-24 21/week @ 2022-12-31 33/week @ 2023-01-07 19/week @ 2023-01-14 68/week @ 2023-01-21

144 downloads per month
Used in 9 crates (3 directly)

MIT license

86KB
2.5K SLoC

C 2K SLoC // 0.1% comments Rust 213 SLoC

cdivsufsort

This crate contains Yuta Mori's C codebase libdivsufsort, as found on:

...and a minimal Rust interface to it.

Changes

There are no functional changes to the codebase, however:

  • Parts of the code have been formatted with clang-format (LLVM style)
  • Many of the loops (for, do..while) have been given names in comments, for ease of translation.
  • The codebase contains "cross-checking" facilities (the macros crosscheck, SA_dump, etc.) so its behavior can be compared with the Rust port.

Cross-checking is only built when the crosscheck feature is enabled. It is not intended for general use, only for debugging the divsufsort crate.

Further reading

The divsufsort algorithm is based on "",

Authors

The original code was written by Yuta Mori, and its essence is not changed here.

License

cdivsufsort is released under the MIT license, same as the original.

See the LICENSE and c-sources/LICENSE files for details.

Dependencies

~99–295KB