Crates.io | esaxx-rs |
lib.rs | esaxx-rs |
version | 0.1.10 |
source | src |
created_at | 2020-06-06 08:14:01.087605 |
updated_at | 2023-10-05 13:12:19.68833 |
description | Wrapping around sentencepiece's esaxxx library. |
homepage | https://github.com/Narsil/esaxx-rs |
repository | https://github.com/Narsil/esaxx-rs |
max_upload_size | |
id | 250592 |
size | 507,207 |
This code implements a fast suffix tree / suffix array.
This code is taken from and to be used by .
Small wrapper around sentencepiece's esaxx suffix array C++ library. Usage
let string = "abracadabra";
let suffix = esaxx_rs::suffix(string).unwrap();
let chars: Vec<_> = string.chars().collect();
let mut iter = suffix.iter();
assert_eq!(iter.next().unwrap(), (&chars[..4], 2)); // abra
assert_eq!(iter.next(), Some((&chars[..1], 5))); // a
assert_eq!(iter.next(), Some((&chars[1..4], 2))); // bra
assert_eq!(iter.next(), Some((&chars[2..4], 2))); // ra
assert_eq!(iter.next(), Some((&chars[..0], 11))); // ''
assert_eq!(iter.next(), None);