divsufsort

Crates.iodivsufsort
lib.rsdivsufsort
version2.0.0
sourcesrc
created_at2019-11-16 12:03:11.490195
updated_at2019-11-23 19:59:37.397674
descriptionRust port of Yuta Mori's divsufsort
homepage
repositoryhttps://github.com/fasterthanlime/stringsearch
max_upload_size
id181764
size572,679
Amos Wenger (fasterthanlime)

documentation

README

divsufsort

This crate contains a Rust handmade port of Yuta Mori's libdivsufsort, as found on:

Changes

The main changes from the C codebase are as follows.

Instead of passing pointers to T (the original text) and SA (the suffix array), slices and indices are passed instead. This sometimes involves adding more parameters to functions (like tr_heapsort).

Some macros (for stacks, used in sssort and trsort) have been replaced with proper Rust types. The SAPtr type is used to represent an index into SA. A/B/B* access has also been translated from C macros to Rust (inlined) functions.

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

Authors

The original C code was written by Yuta Mori.

The port was done by hand, by Amos Wenger.

License

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

See the LICENSE file for details.

Commit count: 101

cargo fmt