pub fn new(dim: T::Dim, gens: Vec<T>) -> Self {
        // Initializes the queue with only the identity matrix.
        let mut queue = VecDeque::new();
        queue.push_back(T::id(dim));

        // We say that the identity has been found zero times. This is a special
        // case that ensures that neither the identity is queued nor found
        // twice.
        let mut elements = BTreeMap::new();
        elements.insert(Wrapper::from_inner(T::id(dim)), 0);

        Self {
            dim,
            gens,
            elements,
            queue,
            gen_idx: 0,
        }
    }
/// Builds a new group from a set of generators.
Builds a new group from a set of generators.
Builds a new group from a set of generators .
pub fn new(dim: T::Dim, gens: Vec<T>) -> Self {
        // Initializes the queue with only the identity matrix.
        let mut queue = VecDeque::new();
        queue.push_back(T::id(dim));
        // We say that the identity has been found zero times. This is a special
        // case that ensures that neither the identity is queued nor found
        // twice.
        let mut elements = BTreeMap::new();
        elements.insert(Wrapper::from_inner(T::id(dim)), 0);
        Self {
            dim,
            gens,
            elements,
            queue,
            gen_idx: 0,
        }
    }
pub fn new ( dim : T :: Dim , gens : Vec < T > ) -> Self { // Initializes the queue with only the identity matrix. let mut queue = VecDeque :: new ( ) ; queue . push_back ( T :: id ( dim ) ) ; // We say that the identity has been found zero times. This is a special // case that ensures that neither the identity is queued nor found // twice. let mut elements = BTreeMap :: new ( ) ; elements . insert ( Wrapper :: from_inner ( T :: id ( dim ) ) , 0 ) ; Self { dim , gens , elements , queue , gen_idx : 0 , } }
Builds a new group from a set of generators.
Builds a new group from a set of generators .
dim
T::Dim
gens
Vec<T>
dim
T::Dim
gens
Vec<T>