pub struct ProObjectLimit {
pub levels: Vec<Vec<u32>>,
pub projections: Vec<Vec<usize>>,
}Expand description
Limit of a pro-object: a cofiltered inverse system of finite sets.
Stores a sequence of finite sets (levels) and projection maps between them. The limit is computed as the subset of the product consistent with all projections.
Fields§
§levels: Vec<Vec<u32>>Each level is a finite set represented as Vec<u32>.
projections: Vec<Vec<usize>>projection[i] maps level i+1 → level i: projection[i][j] is the index in level i
that element j of level i+1 maps to.
Implementations§
Source§impl ProObjectLimit
impl ProObjectLimit
Sourcepub fn new(levels: Vec<Vec<u32>>, projections: Vec<Vec<usize>>) -> Self
pub fn new(levels: Vec<Vec<u32>>, projections: Vec<Vec<usize>>) -> Self
Create a new pro-object from levels and projections.
Sourcepub fn compute_limit(&self) -> Vec<Vec<usize>>
pub fn compute_limit(&self) -> Vec<Vec<usize>>
Compute the inverse limit: tuples (x_0, x_1, …, x_{n-1}) consistent with all projections.
A tuple is consistent if for each level i: projection[i][x_{i+1}] == x_i.
Sourcepub fn limit_size(&self) -> usize
pub fn limit_size(&self) -> usize
Return the cardinality of the computed inverse limit.
Auto Trait Implementations§
impl Freeze for ProObjectLimit
impl RefUnwindSafe for ProObjectLimit
impl Send for ProObjectLimit
impl Sync for ProObjectLimit
impl Unpin for ProObjectLimit
impl UnsafeUnpin for ProObjectLimit
impl UnwindSafe for ProObjectLimit
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more