#[repr(C)]pub struct CompactCoreState {
pub adjacency: CompactAdjacency,
pub edges: [CompactEdge; 384],
pub num_vertices: u16,
pub num_edges: u16,
pub min_cut: u16,
pub best_witness: CompactWitness,
pub lambda_min: u16,
pub lambda_max: u16,
pub core_id: u8,
pub status: u8,
}Expand description
Memory budget breakdown for 8KB core:
- CompactAdjacency: ~3.5KB (514 + 3072 bytes)
- Edge array: 384 × 8 = 3KB
- CompactWitness: 40 bytes
- Other fields: ~12 bytes
- Stack/control: ~1.4KB Total: ~6.7KB (fits comfortably in 8KB) Core state for minimum cut (fits in 8KB)
Fields§
§adjacency: CompactAdjacencyAdjacency structure (~2.5KB)
edges: [CompactEdge; 384]Edge storage (4KB)
num_vertices: u16Number of active vertices
num_edges: u16Number of active edges
min_cut: u16Current minimum cut value
best_witness: CompactWitnessBest witness found
lambda_min: u16Instance range [lambda_min, lambda_max]
lambda_max: u16§core_id: u8Core ID (0-255)
status: u8Status flags
Implementations§
Source§impl CompactCoreState
impl CompactCoreState
pub const STATUS_IDLE: u8 = 0u8
pub const STATUS_PROCESSING: u8 = 1u8
pub const STATUS_DONE: u8 = 2u8
pub const STATUS_ERROR: u8 = 3u8
pub const fn size() -> usize
Auto Trait Implementations§
impl Freeze for CompactCoreState
impl RefUnwindSafe for CompactCoreState
impl Send for CompactCoreState
impl Sync for CompactCoreState
impl Unpin for CompactCoreState
impl UnwindSafe for CompactCoreState
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> 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