[−][src]Crate lfsr
use lfsr::lfsr_lookup; use lfsr::galois; use lfsr::LFSR; lfsr_lookup!(galois32_lookup, galois::Galois32, 10, 20, 5); lfsr_lookup!(galois32_lookup_big, galois::Galois32, 99_999_000, 100_001_000, 100); fn main() { let mut lfsr = galois::Galois32::default(); assert_eq!(galois32_lookup(&lfsr), None); for _ in 0..9 { lfsr.inc(); } assert_eq!(galois32_lookup(&lfsr), None); for _ in 9..10 { lfsr.inc(); } assert_eq!(galois32_lookup(&lfsr), Some(10)); for _ in 10..17 { lfsr.inc(); } assert_eq!(galois32_lookup(&lfsr), Some(17)); for _ in 9..20 { lfsr.inc(); } assert_eq!(galois32_lookup(&lfsr), None); }
Re-exports
pub use lfsr_macro_generate::galois_lfsr; |
pub use lfsr_macro_lookup::lfsr_lookup; |
Modules
galois | Maximum sequence length Galois LFSRs, up to 32 bits wide. |
Traits
LFSR | An object-safe part of the LFSR trait that allow to count up, down and to get a current state |
LFSRStatic | A non-object-safe part of an LFSR |