Struct libbgs::streams::SylowStreamBuilder
source · pub struct SylowStreamBuilder<S, const L: usize, C: SylowDecomposable<S>, T> { /* private fields */ }
Expand description
A builder for a stream yielding elements of particular orders, as their Sylow decompositions.
Implementations§
source§impl<S, const L: usize, C: SylowDecomposable<S>> SylowStreamBuilder<S, L, C, ()>
impl<S, const L: usize, C: SylowDecomposable<S>> SylowStreamBuilder<S, L, C, ()>
sourcepub fn new() -> SylowStreamBuilder<S, L, C, ()>
pub fn new() -> SylowStreamBuilder<S, L, C, ()>
Returns a new SylowStreamBuilder
.
source§impl<S, const L: usize, C: SylowDecomposable<S>> SylowStreamBuilder<S, L, C, [u128; L]>
impl<S, const L: usize, C: SylowDecomposable<S>> SylowStreamBuilder<S, L, C, [u128; L]>
sourcepub fn new_with_orders() -> SylowStreamBuilder<S, L, C, [usize; L]>
pub fn new_with_orders() -> SylowStreamBuilder<S, L, C, [usize; L]>
Returns a new SylowStreamBuilder
, which will return both elements and their orders.
source§impl<'a, S, const L: usize, C: SylowDecomposable<S>, T> SylowStreamBuilder<S, L, C, &'a T>
impl<'a, S, const L: usize, C: SylowDecomposable<S>, T> SylowStreamBuilder<S, L, C, &'a T>
sourcepub fn new_with_trie(
trie: &'a FactorTrie<S, L, C, T>
) -> SylowStreamBuilder<S, L, C, &'a T>
pub fn new_with_trie( trie: &'a FactorTrie<S, L, C, T> ) -> SylowStreamBuilder<S, L, C, &'a T>
Creates a new SylowStreamBuilder
with a “parallel” trie to that given here.
source§impl<S, const L: usize, C: SylowDecomposable<S>, T> SylowStreamBuilder<S, L, C, T>
impl<S, const L: usize, C: SylowDecomposable<S>, T> SylowStreamBuilder<S, L, C, T>
sourcepub fn add_flag(self, mode: u8) -> SylowStreamBuilder<S, L, C, T>
pub fn add_flag(self, mode: u8) -> SylowStreamBuilder<S, L, C, T>
Adds a flag to the SylowStreamBuilder
, modifying its yields.
sourcepub fn add_target(self, t: &[usize; L]) -> SylowStreamBuilder<S, L, C, T>
pub fn add_target(self, t: &[usize; L]) -> SylowStreamBuilder<S, L, C, T>
Adds a target order to this SylowStreamBuilder
.
The SylowStream
built from this builder will only yield elements of the orders of
target
s, or elements of order dividing target
if `target
sourcepub fn add_targets_leq(self, limit: u128) -> Self
pub fn add_targets_leq(self, limit: u128) -> Self
Adds the maximal divisors beneath limit
to the FactorTrie
and sets the LEQ
flag.
sourcepub fn remove_target(self, t: &[usize; L]) -> Self
pub fn remove_target(self, t: &[usize; L]) -> Self
Remove the target, so elements of that order will not be generated.
sourcepub fn set_quotient(self, q: Option<[usize; L]>) -> Self
pub fn set_quotient(self, q: Option<[usize; L]>) -> Self
Guarantees that this stream will only ever yield one representative of the cosets of the quotient.
sourcepub fn add_targets_from_factors(self, stream: DivisorStream<'_>) -> Self
pub fn add_targets_from_factors(self, stream: DivisorStream<'_>) -> Self
Add all the targets yielded by this DivisorStream
.
Trait Implementations§
source§impl<S, const L: usize, C: SylowDecomposable<S>, T: Clone> Clone for SylowStreamBuilder<S, L, C, T>
impl<S, const L: usize, C: SylowDecomposable<S>, T: Clone> Clone for SylowStreamBuilder<S, L, C, T>
source§impl<S, const L: usize, C, T> IntoIterator for SylowStreamBuilder<S, L, C, T>where
C: SylowDecomposable<S>,
T: Clone,
impl<S, const L: usize, C, T> IntoIterator for SylowStreamBuilder<S, L, C, T>where C: SylowDecomposable<S>, T: Clone,
source§impl<S, const L: usize, C, T> IntoParallelIterator for SylowStreamBuilder<S, L, C, T>where
S: Send + Sync,
C: SylowDecomposable<S> + Send + Sync,
T: Clone + Send + Sync,
impl<S, const L: usize, C, T> IntoParallelIterator for SylowStreamBuilder<S, L, C, T>where S: Send + Sync, C: SylowDecomposable<S> + Send + Sync, T: Clone + Send + Sync,
§type Iter = SylowParStream<S, L, C, T>
type Iter = SylowParStream<S, L, C, T>
source§fn into_par_iter(self) -> Self::Iter
fn into_par_iter(self) -> Self::Iter
self
into a parallel iterator. Read more