type Topology_Kind is interface;
function Nodes_in_Topology
( | Configuration | : Topology_Kind) return Positive is abstract; |
function Nodes_Connected
( | Configuration | : Topology_Kind; |
Node_A, Node_B | : Positive) return Boolean is abstract; |
function Min_Degree
( | Configuration | : Topology_Kind'Class) return Natural; |
function Max_Degree
( | Configuration | : Topology_Kind'Class) return Natural; |
function Line
( | Size | : Positive) return Topology_Kind'Class; |
function Ring
( | Size | : Positive) return Topology_Kind'Class; |
function Star
( | Size | : Positive) return Topology_Kind'Class; |
function Fully_Connected
( | Size | : Positive) return Topology_Kind'Class; |
function Trees
( | Degree, Depths | : Positive) return Topology_Kind'Class; |
function Mesh
( | Dimension, Size | : Positive) return Topology_Kind'Class; |
function Torus
( | Dimension, Size | : Positive) return Topology_Kind'Class; |
function Hypercube
( | Dimension | : Positive) return Topology_Kind'Class; |
function Cube_Connected_Cycles
( | Dimension | : Positive) return Topology_Kind'Class; |
function Butterfly
( | Dimension | : Positive) return Topology_Kind'Class; |
function Wrap_Around_Butterfly
( | Dimension | : Positive) return Topology_Kind'Class; |