pub struct GraphComplexity {
pub num_nodes: usize,
pub num_edges: usize,
pub max_depth: usize,
pub max_width: usize,
pub avg_fan_in: f64,
pub avg_fan_out: f64,
pub max_fan_in: usize,
pub max_fan_out: usize,
pub num_op_types: usize,
pub density: f64,
}Expand description
Comprehensive graph complexity metrics.
Fields§
§num_nodes: usizeTotal number of nodes
num_edges: usizeNumber of edges (input references)
max_depth: usizeMaximum depth (longest path from source to output)
max_width: usizeMaximum width (most nodes at any single depth level)
avg_fan_in: f64Average fan-in (inputs per node)
avg_fan_out: f64Average fan-out (consumers per node)
max_fan_in: usizeMaximum fan-in
max_fan_out: usizeMaximum fan-out
num_op_types: usizeNumber of distinct operation types
density: f64Graph density (edges / (nodes * (nodes-1)))
Trait Implementations§
Source§impl Clone for GraphComplexity
impl Clone for GraphComplexity
Source§fn clone(&self) -> GraphComplexity
fn clone(&self) -> GraphComplexity
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for GraphComplexity
impl RefUnwindSafe for GraphComplexity
impl Send for GraphComplexity
impl Sync for GraphComplexity
impl Unpin for GraphComplexity
impl UnsafeUnpin for GraphComplexity
impl UnwindSafe for GraphComplexity
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