C Interface

C Interface

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)



Chih-Po Wen
Wed Sep 13 23:57:28 PDT 1995