00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #define _DGL_V1 1
00024 #undef _DGL_V2
00025
00026
00027
00028
00029
00030 #if defined(DGL_DEFINE_TREE_PROCS) || defined(DGL_DEFINE_FLAT_PROCS)
00031
00032 #undef DGL_SP_DIJKSTRA_FUNC
00033 #undef DGL_SPAN_DEPTHFIRST_SPANNING_FUNC
00034 #undef DGL_SPAN_MINIMUM_SPANNING_FUNC
00035 #undef _DGL_OUTEDGESET
00036 #undef _DGL_INEDGESET
00037 #undef _DGL_EDGE_TAILNODE
00038 #undef _DGL_EDGE_HEADNODE
00039 #endif
00040
00041
00042
00043
00044 #if defined(DGL_DEFINE_TREE_PROCS)
00045
00046 #define DGL_SP_DIJKSTRA_FUNC dgl_dijkstra_V1_TREE
00047
00048 #define DGL_SPAN_DEPTHFIRST_SPANNING_FUNC dgl_span_depthfirst_spanning_V1_TREE
00049 #define DGL_SPAN_MINIMUM_SPANNING_FUNC dgl_span_minimum_spanning_V1_TREE
00050
00051 #define _DGL_OUTEDGESET(pg,pn) DGL_GET_NODE_OUTEDGESET_FUNC(pg,pn)
00052 #define _DGL_INEDGESET(pg,pn) DGL_GET_NODE_INEDGESET_FUNC(pg,pn)
00053 #define _DGL_EDGE_HEADNODE(pg,pl) DGL_GET_NODE_FUNC(pg, DGL_EDGE_HEADNODE_OFFSET(pl))
00054 #define _DGL_EDGE_TAILNODE(pg,pl) DGL_GET_NODE_FUNC(pg, DGL_EDGE_TAILNODE_OFFSET(pl))
00055 #endif
00056
00057
00058
00059
00060 #if defined(DGL_DEFINE_FLAT_PROCS)
00061
00062 #define DGL_SP_DIJKSTRA_FUNC dgl_dijkstra_V1_FLAT
00063
00064 #define DGL_SPAN_DEPTHFIRST_SPANNING_FUNC dgl_span_depthfirst_spanning_V1_FLAT
00065 #define DGL_SPAN_MINIMUM_SPANNING_FUNC dgl_span_minimum_spanning_V1_FLAT
00066
00067 #define _DGL_OUTEDGESET(pg,pn) DGL_EDGEBUFFER_SHIFT(pg, DGL_NODE_EDGESET_OFFSET(pn))
00068 #define _DGL_INEDGESET(pg,pn) ((dglInt32_t*)(DGL_EDGEBUFFER_SHIFT(pg, DGL_NODE_EDGESET_OFFSET(pn))) + \
00069 *(dglInt32_t*)(DGL_EDGEBUFFER_SHIFT(pg, DGL_NODE_EDGESET_OFFSET(pn))) + 1)
00070 #define _DGL_EDGE_HEADNODE(pg,pl) DGL_NODEBUFFER_SHIFT(pg, DGL_EDGE_HEADNODE_OFFSET(pl))
00071 #define _DGL_EDGE_TAILNODE(pg,pl) DGL_NODEBUFFER_SHIFT(pg, DGL_EDGE_TAILNODE_OFFSET(pl))
00072 #endif
00073
00074
00075
00076
00077 #if !defined(DGL_DEFINE_TREE_PROCS) && !defined(DGL_DEFINE_FLAT_PROCS)
00078
00079
00080 #define DGL_SP_CACHE_INITIALIZE_FUNC dgl_sp_cache_initialize_V1
00081 #define DGL_SP_CACHE_RELEASE_FUNC dgl_sp_cache_release_V1
00082 #define DGL_SP_CACHE_REPORT_FUNC dgl_sp_cache_report_V1
00083 #define DGL_SP_CACHE_DISTANCE_FUNC dgl_sp_cache_distance_V1
00084
00085
00086 #define DGL_ADD_NODE_FUNC dgl_add_node_V1
00087 #define DGL_DEL_NODE_FUNC dgl_del_node_V1
00088 #define DGL_GET_NODE_FUNC dgl_get_node_V1
00089 #define DGL_GET_NODE_OUTEDGESET_FUNC dgl_getnode_outedgeset_V1
00090
00091
00092 #define DGL_ADD_EDGE_FUNC dgl_add_edge_V1
00093 #define DGL_GET_EDGE_FUNC dgl_get_edge_V1
00094 #define DGL_DEL_EDGE_FUNC dgl_del_edge_V1
00095
00096
00097 #define DGL_EDGE_T_INITIALIZE_FUNC dgl_edge_t_initialize_V1
00098 #define DGL_EDGE_T_RELEASE_FUNC dgl_edge_t_release_V1
00099 #define DGL_EDGE_T_FIRST_FUNC dgl_edge_t_first_V1
00100 #define DGL_EDGE_T_NEXT_FUNC dgl_edge_t_next_V1
00101 #define DGL_NODE_T_INITIALIZE_FUNC dgl_node_t_initialize_V1
00102 #define DGL_NODE_T_RELEASE_FUNC dgl_node_t_release_V1
00103 #define DGL_NODE_T_FIRST_FUNC dgl_node_t_first_V1
00104 #define DGL_NODE_T_NEXT_FUNC dgl_node_t_next_V1
00105 #define DGL_NODE_T_FIND_FUNC dgl_node_t_find_V1
00106 #define DGL_EDGESET_T_INITIALIZE_FUNC dgl_edgeset_t_initialize_V1
00107 #define DGL_EDGESET_T_RELEASE_FUNC dgl_edgeset_t_release_V1
00108 #define DGL_EDGESET_T_FIRST_FUNC dgl_edgeset_t_first_V1
00109 #define DGL_EDGESET_T_NEXT_FUNC dgl_edgeset_t_next_V1
00110 #define DGL_FLATTEN_FUNC dgl_flatten_V1
00111 #define DGL_UNFLATTEN_FUNC dgl_unflatten_V1
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122 #define DGL_NODE_ALLOC DGL_NODE_ALLOC_v1
00123 #define DGL_NODE_SIZEOF DGL_NODE_SIZEOF_v1
00124 #define DGL_NODE_WSIZE DGL_NODE_WSIZE_v1
00125 #define DGL_NODE_STATUS DGL_NODE_STATUS_v1
00126 #define DGL_NODE_ID DGL_NODE_ID_v1
00127 #define DGL_NODE_ATTR_PTR DGL_NODE_ATTR_PTR_v1
00128 #define DGL_NODE_EDGESET_OFFSET DGL_NODE_EDGESET_OFFSET_v1
00129
00130
00131
00132 #define DGL_EDGE_ALLOC DGL_EDGE_ALLOC_v1
00133 #define DGL_EDGE_SIZEOF DGL_EDGE_SIZEOF_v1
00134 #define DGL_EDGE_WSIZE DGL_EDGE_WSIZE_v1
00135 #define DGL_EDGE_STATUS(p) 0
00136 #define DGL_EDGE_COST DGL_EDGE_COST_v1
00137 #define DGL_EDGE_ID DGL_EDGE_ID_v1
00138 #define DGL_EDGE_ATTR_PTR DGL_EDGE_ATTR_PTR_v1
00139 #define DGL_EDGE_HEADNODE_OFFSET DGL_EDGE_HEADNODE_OFFSET_v1
00140 #define DGL_EDGE_TAILNODE_OFFSET DGL_EDGE_TAILNODE_OFFSET_v1
00141
00142
00143
00144 #define DGL_ILA_TOARR DGL_ILA_TOARR_v1
00145 #define DGL_EDGESET_OFFSET DGL_EDGESET_OFFSET_v1
00146 #define DGL_EDGESET_EDGEARRAY_PTR DGL_EDGESET_EDGEARRAY_PTR_v1
00147 #define DGL_EDGESET_EDGECOUNT DGL_EDGESET_EDGECOUNT_v1
00148 #define DGL_EDGESET_EDGE_PTR DGL_EDGESET_EDGE_PTR_v1
00149 #define DGL_EDGESET_ALLOC DGL_EDGESET_ALLOC_v1
00150 #define DGL_EDGESET_REALLOC DGL_EDGESET_REALLOC_v1
00151 #define DGL_EDGESET_SIZEOF DGL_EDGESET_SIZEOF_v1
00152 #define DGL_EDGESET_WSIZE DGL_EDGESET_WSIZE_v1
00153
00154
00155
00156 #define DGL_NODEBUFFER_SHIFT DGL_NODEBUFFER_SHIFT_v1
00157 #define DGL_NODEBUFFER_OFFSET DGL_NODEBUFFER_OFFSET_v1
00158 #define DGL_EDGEBUFFER_SHIFT DGL_EDGEBUFFER_SHIFT_v1
00159 #define DGL_EDGEBUFFER_OFFSET DGL_EDGEBUFFER_OFFSET_v1
00160
00161 #define DGL_FOREACH_NODE DGL_FOREACH_NODE_v1
00162 #define DGL_FOREACH_EDGE DGL_FOREACH_EDGE_v1
00163
00164
00165
00166
00167
00168 #define DGL_T_NODEITEM_TYPE dglTreeNode_s
00169 #define DGL_T_NODEITEM_NodePTR(p) ((p)->pv)
00170 #define DGL_T_NODEITEM_Set_NodePTR(p,ptr) ((p)->pv=(ptr))
00171 #define DGL_T_NODEITEM_OutEdgesetPTR(p) ((p)->pv2)
00172 #define DGL_T_NODEITEM_Set_OutEdgesetPTR(p,ptr) ((p)->pv2=(ptr))
00173 #define DGL_T_NODEITEM_InEdgesetPTR(p) NULL
00174 #define DGL_T_NODEITEM_Set_InEdgesetPTR(p,ptr)
00175 #define DGL_T_NODEITEM_Compare dglTreeNodeCompare
00176 #define DGL_T_NODEITEM_Cancel dglTreeNodeCancel
00177 #define DGL_T_NODEITEM_Add dglTreeNodeAdd
00178 #define DGL_T_NODEITEM_Alloc dglTreeNodeAlloc
00179
00180
00181
00182 #endif