mini_enigma/
lib.rs

1//!
2//! # Mini Engima
3//!
4//! #[no-std] (and no alloc) zero dependency implementation of the M3 Enigma
5//!
6//! Get started with `state_machine::Enigma`
7//!
8//! # Features
9//!
10//! `M4` - Allows the machine to have 4 rotors
11//!
12
13#![no_std]
14#![warn(missing_docs)]
15#![warn(clippy::pedantic)]
16
17#[cfg(test)]
18extern crate std;
19
20#[macro_export]
21/// Equivalent to `std::println` but omitted during non-testing builds
22macro_rules! debug {
23    ($($arg:tt)*) => {
24        #[cfg(test)]
25        std::println!($($arg)*);
26    };
27}
28
29pub mod components;
30pub mod state_machine;
31pub mod utils;