stringzilla/
lib.rs

1#![cfg_attr(not(feature = "std"), no_std)]
2#![doc = r"
3# StringZilla
4
5Fast string processing library with SIMD and GPU acceleration.
6
7This crate provides two main modules:
8- `stringzilla` (alias `sz`): Single-string operations  
9- `stringzillas` (alias `szs`): Multi-string parallel operations (requires features)
10
11## Features
12- `cpus`: Enable multi-threaded CPU backend
13- `cuda`: Enable CUDA GPU backend  
14- `rocm`: Enable ROCm GPU backend
15"]
16
17/// Core single-string operations with SIMD acceleration.
18///
19/// Provides fast string search, comparison, hashing, and manipulation
20/// functions optimized with SWAR and SIMD instructions.
21pub mod stringzilla;
22
23/// High-performance parallel string algorithms with CPU/GPU acceleration.
24///
25/// Requires `cpus`, `cuda`, or `rocm` features. Provides:
26/// - Levenshtein distances (binary and UTF-8)  
27/// - Needleman-Wunsch global alignment
28/// - Smith-Waterman local alignment
29/// - Min-Hash fingerprinting
30#[cfg(any(feature = "cpus", feature = "cuda", feature = "rocm"))]
31pub mod stringzillas;
32
33// Convenience aliases for shorter names
34pub use stringzilla as sz;
35#[cfg(any(feature = "cpus", feature = "cuda", feature = "rocm"))]
36pub use stringzillas as szs;