Skip to main content

lyndon_rs/
lib.rs

1//! # lyndon-rs
2//!
3//! A Rust library for working with Lyndon words.
4//!
5//! ## Quick Start
6//!
7//! ```rust
8//! use lyndon_rs::prelude::*;
9//!
10//! let basis = LyndonBasis::<ENotation>::new(3, Sort::Lexicographical);
11//! let words = basis.generate_basis(4);
12//! ```
13
14pub mod generators;
15pub mod lyndon;
16
17// Re-export main types at crate root
18pub use generators::{ENotation, Generator};
19pub use lyndon::{LyndonBasis, LyndonWord, LyndonWordError, Sort, moebius_mu};
20
21/// Prelude module for imports
22pub mod prelude {
23    pub use crate::generators::{ENotation, Generator};
24    pub use crate::lyndon::{LyndonBasis, LyndonWord, Sort};
25}