graph_v1.c File Reference

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include "type.h"
#include "tree.h"
#include "graph.h"
#include "graph_v1.h"
#include "helpers.h"
#include "v1-defs.h"
#include "sp-template.c"
#include "nodemgmt-template.c"
#include "edgemgmt-template.c"
#include "misc-template.c"
#include "span-template.c"

Include dependency graph for graph_v1.c:

Go to the source code of this file.

Defines

#define DGL_DEFINE_TREE_PROCS   1
#define DGL_DEFINE_FLAT_PROCS   1

Functions

int dgl_dijkstra_V1 (dglGraph_s *pgraph, dglSPReport_s **ppReport, dglInt32_t *pDistance, dglInt32_t nStart, dglInt32_t nDestination, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
int dgl_depthfirst_spanning_V1 (dglGraph_s *pgraphIn, dglGraph_s *pgraphOut, dglInt32_t nVertex, void *pvVisited, dglSpanClip_fn fnClip, void *pvClipArg)
int dgl_minimum_spanning_V1 (dglGraph_s *pgraphIn, dglGraph_s *pgraphOut, dglInt32_t nVertex, dglSpanClip_fn fnClip, void *pvClipArg)
int dgl_initialize_V1 (dglGraph_s *pgraph)
int dgl_release_V1 (dglGraph_s *pgraph)
int dgl_write_V1 (dglGraph_s *pgraph, int fd)
int dgl_read_V1 (dglGraph_s *pgraph, int fd)


Define Documentation

#define DGL_DEFINE_FLAT_PROCS   1

Definition at line 59 of file graph_v1.c.

#define DGL_DEFINE_TREE_PROCS   1

Definition at line 50 of file graph_v1.c.


Function Documentation

int dgl_depthfirst_spanning_V1 ( dglGraph_s pgraphIn,
dglGraph_s pgraphOut,
dglInt32_t  nVertex,
void *  pvVisited,
dglSpanClip_fn  fnClip,
void *  pvClipArg 
)

Definition at line 87 of file graph_v1.c.

References DGL_GS_FLAT, dgl_span_depthfirst_spanning_V1_FLAT(), dgl_span_depthfirst_spanning_V1_TREE(), and _dglGraph::Flags.

Referenced by dglDepthComponents(), and dglDepthSpanning().

int dgl_dijkstra_V1 ( dglGraph_s pgraph,
dglSPReport_s **  ppReport,
dglInt32_t pDistance,
dglInt32_t  nStart,
dglInt32_t  nDestination,
dglSPClip_fn  fnClip,
void *  pvClipArg,
dglSPCache_s pCache 
)

Definition at line 67 of file graph_v1.c.

References dgl_dijkstra_V1_FLAT(), dgl_dijkstra_V1_TREE(), DGL_GS_FLAT, and _dglGraph::Flags.

Referenced by dglShortestDistance(), and dglShortestPath().

int dgl_initialize_V1 ( dglGraph_s pgraph  ) 

Definition at line 121 of file graph_v1.c.

References avl_create, DGL_ERR_MemoryExhausted, dglTreeGetAllocator(), dglTreeNodeCompare(), _dglGraph::iErrno, _dglGraph::pEdgeTree, and _dglGraph::pNodeTree.

Referenced by dglInitialize().

int dgl_minimum_spanning_V1 ( dglGraph_s pgraphIn,
dglGraph_s pgraphOut,
dglInt32_t  nVertex,
dglSpanClip_fn  fnClip,
void *  pvClipArg 
)

Definition at line 104 of file graph_v1.c.

References DGL_GS_FLAT, dgl_span_minimum_spanning_V1_FLAT(), dgl_span_minimum_spanning_V1_TREE(), and _dglGraph::Flags.

Referenced by dglMinimumSpanning().

int dgl_read_V1 ( dglGraph_s pgraph,
int  fd 
)

Definition at line 256 of file graph_v1.c.

References _dglGraph::aOpaqueSet, _dglGraph::cAlone, _dglGraph::cEdge, _dglGraph::cHead, _dglGraph::cNode, _dglGraph::cTail, DGL_ENDIAN_BIG, DGL_ENDIAN_LITTLE, DGL_ERR_MemoryExhausted, DGL_ERR_Read, dgl_swapInt32Bytes(), dgl_swapInt64Bytes(), dglInitialize(), _dglGraph::Flags, _dglGraph::iEdgeBuffer, _dglGraph::iErrno, _dglGraph::iNodeBuffer, _dglGraph::nnCost, _dglGraph::pEdgeBuffer, and _dglGraph::pNodeBuffer.

Referenced by dglRead().

int dgl_release_V1 ( dglGraph_s pgraph  ) 

Definition at line 132 of file graph_v1.c.

References avl_destroy, dglTreeEdgeCancel(), dglTreeEdgePri32Cancel(), dglTreeNodeCancel(), dglTreeNodePri32Cancel(), _dglGraph::edgePrioritizer, _dglGraph::iErrno, _dglGraph::nodePrioritizer, _dglGraph::pEdgeBuffer, _dglGraph::pEdgeTree, _dglGraph::pNodeBuffer, _dglGraph::pNodeTree, dglNodePrioritizer_s::pvAVL, and dglEdgePrioritizer_s::pvAVL.

Referenced by dglRelease().

int dgl_write_V1 ( dglGraph_s pgraph,
int  fd 
)

Definition at line 147 of file graph_v1.c.

References _dglGraph::aOpaqueSet, _dglGraph::cAlone, _dglGraph::cEdge, _dglGraph::cHead, _dglGraph::cNode, _dglGraph::cTail, DGL_ERR_Write, _dglGraph::EdgeAttrSize, _dglGraph::Endian, _dglGraph::iEdgeBuffer, _dglGraph::iErrno, _dglGraph::iNodeBuffer, _dglGraph::nnCost, _dglGraph::NodeAttrSize, _dglGraph::pEdgeBuffer, _dglGraph::pNodeBuffer, and _dglGraph::Version.

Referenced by dglWrite().


Generated on Wed Dec 19 14:59:46 2007 for GRASS by  doxygen 1.5.4