34 void *pvTailAttr,
void *pvEdgeAttr,
dglInt32_t nFlags)
56 clock_t clk = clock();
68 pgraph->clkNodeTree += clock() - clk;
150 if (pEdgeset ==
NULL) {
162 if (pEdgeset ==
NULL) {
185 if (pinEdgeset ==
NULL) {
197 if (pinEdgeset ==
NULL) {
207 findEdge.
nKey = nEdge;
237 pEdge = pEdgeItem->
pv;
252 #if !defined(_DGL_V1)
269 #if !defined(_DGL_V1)
280 pvHeadAttr, pvTailAttr, pvEdgeAttr,
281 nFlags & ~DGL_STRONGCONNECT);
306 findEdgeItem.
nKey = nEdge;
312 pEdge = pEdgeItem->
pv;
371 pos = top + (bot - top) / 2;
376 else if (nEdge <
id) {
379 else if (nEdge >
id) {
386 return &pref[pos * cwords];
389 findEdge.
nKey = nEdge;
391 if (ptreeEdge && ptreeEdge->
pv) {
392 return ptreeEdge->
pv;
#define DGL_NODE_ATTR_PTR
int DGL_DEL_NODE_OUTEDGE_FUNC(dglGraph_s *pgraph, dglInt32_t nNode, dglInt32_t nEdge)
int DGL_ADD_EDGE_FUNC(dglGraph_s *pgraph, dglInt32_t nHead, dglInt32_t nTail, dglInt32_t nCost, dglInt32_t nEdge, void *pvHeadAttr, void *pvTailAttr, void *pvEdgeAttr, dglInt32_t nFlags)
#define DGL_T_NODEITEM_Add
void dglTreeEdgeCancel(void *pvEdge, void *pvParam)
#define DGL_T_NODEITEM_NodePTR(p)
#define DGL_T_NODEITEM_Set_OutEdgesetPTR(p, ptr)
#define DGL_STRONGCONNECT
#define DGL_ERR_EdgeAlreadyExist
int DGL_DEL_EDGE_FUNC(dglGraph_s *pgraph, dglInt32_t nEdge)
#define DGL_T_NODEITEM_InEdgesetPTR(p)
#define DGL_T_NODEITEM_TYPE
#define DGL_EDGESET_REALLOC
int dgl_edge_prioritizer_add(dglGraph_s *pG, dglInt32_t nId, dglInt32_t nPriId)
int DGL_DEL_NODE_INEDGE_FUNC(dglGraph_s *pgraph, dglInt32_t nNode, dglInt32_t nEdge)
#define DGL_EDGE_STATUS(p)
#define DGL_EDGE_TAILNODE_OFFSET
#define DGL_ERR_NotSupported
#define DGL_ERR_MemoryExhausted
#define DGL_T_NODEITEM_OutEdgesetPTR(p)
#define DGL_ERR_BadOnFlatGraph
dglTreeEdge_s * dglTreeEdgeAdd(void *pavl, dglInt32_t nKey)
dglInt32_t * DGL_GET_EDGE_FUNC(dglGraph_s *pgraph, dglInt32_t nEdge)
#define DGL_EDGESET_EDGECOUNT
int dgl_edge_prioritizer_del(dglGraph_s *pG, dglInt32_t nId, dglInt32_t nPriId)
#define DGL_T_NODEITEM_Set_NodePTR(p, ptr)
#define DGL_EDGE_ATTR_PTR
#define DGL_NODE_EDGESET_OFFSET
#define DGL_ERR_EdgeNotFound
#define DGL_EDGESET_EDGE_PTR
#define DGL_GO_EdgePrioritize_COST
#define DGL_ERR_UnexpectedNullPointer
#define DGL_EDGE_HEADNODE_OFFSET
#define DGL_T_NODEITEM_Set_InEdgesetPTR(p, ptr)
#define DGL_EDGESET_ALLOC