#[non_exhaustive]pub struct Data<'d> {
pub baseval: Num,
pub verttab: &'d [Num],
pub vendtab: &'d [Num],
pub velotab: &'d [Num],
pub vlbltab: &'d [Num],
pub edgetab: &'d [Num],
pub edlotab: &'d [Num],
}
Expand description
Deconstructed graph data.
Invariants
This structure ensures the following invariants are met:
- if
vendtab
is empty,verttab
must be non-empty,velotab
, if non-empty, must have exactly one less element thanverttab
, andvlbltab
, if non-empty, must have exactly one less element thanverttab
,
- if
vendtab
is non-empty,verttab
andvendtab
must have the same length,velotab
, if non-empty, must have the same length asverttab
, andvlbltab
, if non-empty, must have the same length asverttab
,
edlotab
, if non-empty, must have the same length asedgetab
,- The length of
verttab
must fit in aNum
, - The length of
edgetab
must fit in aNum
.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.baseval: Num
Graph base value for arrays (typically 0).
verttab: &'d [Num]
Adjency start index array.
Adjacent nodes of node #i are stored in
&edgetab[verttab[i]..vendtab[i]]
.
vendtab: &'d [Num]
Adjency end index array.
Adjacent nodes of node #i are stored in
&edgetab[verttab[i]..vendtab[i]]
.
This is typically empty, and Scotch sets it to the default
&verttab[1..]
.
velotab: &'d [Num]
Vertex load array.
vlbltab: &'d [Num]
Vertex label array.
edgetab: &'d [Num]
Adjency array.
edlotab: &'d [Num]
Edge load array.