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);
}