[][src]Function local_reconstruction_code_gen::gf_bitgroups

pub fn gf_bitgroups(
    groups: usize,
    m: usize
) -> impl Iterator<Item = impl Iterator<Item = u8> + DoubleEndedIterator + ExactSizeIterator + FusedIterator> + DoubleEndedIterator + ExactSizeIterator + FusedIterator

Select n evenly sized groups of values in GF(2^m).

Every group has a different set of m / groups bits set to 0.

Examples

use local_reconstruction_code_gen::gf_bitgroups;

let mut groups = gf_bitgroups(2,4).map(Iterator::collect);
assert_eq!(groups.next(), Some(vec![0b0001, 0b0010, 0b0011]));
assert_eq!(groups.next(), Some(vec![0b0100, 0b1000, 0b1100]));
assert_eq!(groups.next(), None);