19 typedef char tie_id_type;
20 typedef int weight_type;
26 Node(weight_type
const& w, tie_id_type
const&
id)
47 array<Node*, 8> vNode;
48 vNode[0] =
new Node (1,
'a');
49 vNode[1] =
new Node (1,
'b');
50 vNode[2] =
new Node (1,
'c');
51 vNode[3] =
new Node (1,
'd');
52 vNode[4] =
new Node (1,
'e');
53 vNode[5] =
new Node (1,
'f');
54 vNode[6] =
new Node (1,
'g');
55 vNode[7] =
new Node (1,
'h');
58 for (
unsigned int i = 0; i < vNode.size(); ++i)
75 vector<Node*> vNodeNet;
76 vNodeNet.push_back(vNode[0]);
77 vNodeNet.push_back(vNode[1]);
78 vNodeNet.push_back(vNode[2]);
79 fm.
add_net(1, vNodeNet.begin(), vNodeNet.end());
84 vector<Node*> vNodeNet;
85 vNodeNet.push_back(vNode[1]);
86 vNodeNet.push_back(vNode[3]);
87 vNodeNet.push_back(vNode[4]);
88 vNodeNet.push_back(vNode[5]);
89 fm.
add_net(1, vNodeNet.begin(), vNodeNet.end());
94 vector<Node*> vNodeNet;
95 vNodeNet.push_back(vNode[2]);
96 vNodeNet.push_back(vNode[5]);
97 vNodeNet.push_back(vNode[6]);
98 fm.
add_net(1, vNodeNet.begin(), vNodeNet.end());
103 vector<Node*> vNodeNet;
104 vNodeNet.push_back(vNode[0]);
105 vNodeNet.push_back(vNode[6]);
106 fm.
add_net(1, vNodeNet.begin(), vNodeNet.end());
111 vector<Node*> vNodeNet;
112 vNodeNet.push_back(vNode[3]);
113 vNodeNet.push_back(vNode[4]);
114 vNodeNet.push_back(vNode[7]);
115 fm.
add_net(1, vNodeNet.begin(), vNodeNet.end());
120 vector<Node*> vNodeNet;
121 vNodeNet.push_back(vNode[5]);
122 vNodeNet.push_back(vNode[7]);
123 fm.
add_net(1, vNodeNet.begin(), vNodeNet.end());
a class to describe graph vertex
Implementation of FM partitioning algorithm.
tie_id_type m_id
node label
Node(weight_type const &w, tie_id_type const &id)
Implementation of the FM partitioning algorithm.
weight_type m_weight
node weight
bool add_node(node_type *pNode, int initialPartition)
add node
tie_id_type tie_id() const
void print() const
print function
void print_connection() const
print connection
weight_type weight() const
bool add_net(net_weight_type const &weight, Iterator first, Iterator last)
add nets