pub struct Expander {
pub id: u64,
pub vertices: HashSet<VertexId>,
pub internal_edges: Vec<(VertexId, VertexId)>,
pub boundary_edges: Vec<(VertexId, VertexId)>,
pub volume: usize,
pub expansion_ratio: f64,
pub precluster_id: Option<u64>,
}Expand description
An expander at level 0
Fields§
§id: u64Unique expander ID
vertices: HashSet<VertexId>Vertices in this expander
internal_edges: Vec<(VertexId, VertexId)>Internal edges (both endpoints in expander)
boundary_edges: Vec<(VertexId, VertexId)>Boundary edges (one endpoint outside)
volume: usizeVolume (sum of degrees)
expansion_ratio: f64Verified expansion ratio
precluster_id: Option<u64>Parent precluster ID
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Expander
impl RefUnwindSafe for Expander
impl Send for Expander
impl Sync for Expander
impl Unpin for Expander
impl UnwindSafe for Expander
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more