typedef double Bipartite_NodeData;
typedef double Bipartite_EdgeWeight;
typedef struct Bipartite_Edge {
...
Bipartite_EdgeWeight weight;
Bipartite_NodeData *value;
...
} Bipartite_Edge;
typedef struct Bipartite_Node {
Bipartite_NodeData value;
...
} Bipartite_Node;
typedef struct Bipartite_NodeList {
int len;
Bipartite_Node *node;
...
} Bipartite_NodeList;
typedef struct Bipartite {
...
Bipartite_NodeList eNodes;
Bipartite_NodeList hNodes;
} Bipartite;
Flag Bipartite_all_create(int id, int numENodes, int numHNodes,
Flag *flagPtr, Counter *ctr);
Bipartite *Bipartite_toLocal(int id);
Flag Bipartite_all_destroy(int id, Counter *ctr);
Flag Bipartite_addEtoH(int id, int fromNode,
int toProc, int toNode,
Bipartite_EdgeWeight weight);
Flag Bipartite_addHtoE(int id, int fromNode,
int toProc, int toNode,
Bipartite_EdgeWeight weight);
Flag Bipartite_all_connect(int id, Counter *ctr);
Flag Bipartite_all_eValidate(int id, Counter *ctr);
Flag Bipartite_all_hValidate(int id, Counter *ctr);
Bipartite_for_eNodes(Bipartite *graphPtr,
Bipartite_Node *nodePtr, int nodeCnt)
Bipartite_for_hNodes(Bipartite *graphPtr,
Bipartite_Node *nodePtr, int nodeCnt)
Bipartite_for_edges(Bipartite_Node *nodePtr,
Bipartite_Edge *edgePtr, int edgeCnt)