eg_menger.h File Reference

#include <stdio.h>
#include <stdlib.h>
#include "eg_mempool.h"
#include "eg_list.h"
#include "eg_dgraph.h"
#include "eg_dijkstra.h"
#include "eg_heap.h"
#include "eg_bellford.h"

Include dependency graph for eg_menger.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define MENGER_USE_BELLFORD   0
#define EG_MENGER_NUMOS   14
#define EG_MENGER_PI   0
#define EG_MENGER_DIST   1
#define EG_MENGER_ORIG_DIST   2
#define EG_MENGER_NDIST   3
#define EG_MENGER_ORIG_NDIST   4
#define EG_MENGER_MARK   5
#define EG_MENGER_ORIG_MARK   6
#define EG_MENGER_FATHER   7
#define EG_MENGER_ORIG_FATHER   8
#define EG_MENGER_HEAP_CONNECTOR   9
#define EG_MENGER_ECOST   10
#define EG_MENGER_REDUCED_ECOST   11
#define EG_MENGER_IS_IN_SOL   12
#define EG_MENGER_EDATA   13
#define EG_MENGER_SAFEMODE   0
#define EGmengerSetPi(n, os, c)   EGosSetData(((EGdGraphNode_t*)n)->data, os[EG_MENGER_PI], EGdijkstraCost_t, c)
#define EGmengerSetDist(n, os, d)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_DIST], EGdijkstraCost_t, f)
#define EGmengerSetOrigDist(n, os, d)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_ORIG_DIST], EGdijkstraCost_t, d)
#define EGmengerSetNdist(n, os, d)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_NDIST], unsigned int, d)
#define EGmengerSetOrigNdist(n, os, d)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_ORIG_NDIST], unsigned int, d)
#define EGmengerSetMark(n, os, m)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_MARK], unsigned int, m)
#define EGmengerSetOrigMark(n, os, m)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_ORIG_MARK], unsigned int, m)
#define EGmengerSetFather(n, os, f)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_FATHER], EGdGraphEdge_t*, f)
#define EGmengerSetOrigFather(n, os, f)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_ORIG_FATHER], EGdGraphEdge_t*, f)
#define EGmengerSetHeapConnector(n, os, hc)   EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_HEAP_CONNECTOR], EGheapConnector_t*, hc)
#define EGmengerSetEdgeCost(e, os, c)   EGosSetData(((EGdGraphEdge_t*)(e))->data, os[EG_MENGER_ECOST], EGdijkstraCost_t, c)
#define EGmengerSetEdgeReducedCost(e, os, c)   EGosSetData(((EGdGraphEdge_t*)(e))->data, os[EG_MENGER_REDUCED_ECOST], EGdijkstraCost_t, c)
#define EGmengerSetEdgeIsInSolution(e, os, yn)   EGosSetData(((EGdGraphEdge_t*)(e))->data, os[EG_MENGER_IS_IN_SOL], unsigned int, yn)
#define EGmengerSetEdgeData(e, os, d)   EGosSetData(((EGdGraphEdge_t*)(e))->data, os[EG_MENGER_EDATA], void*, d)
#define EGmengerGetPi(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_PI],EGdijkstraCost_t))
#define EGmengerGetDist(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_DIST],EGdijkstraCost_t))
#define EGmengerGetOrigDist(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_ORIG_DIST],EGdijkstraCost_t))
#define EGmengerGetNdist(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_NDIST],unsigned int))
#define EGmengerGetOrigNdist(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_ORIG_NDIST],unsigned int))
#define EGmengerGetMark(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_MARK],unsigned int))
#define EGmengerGetOrigMark(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_ORIG_MARK],unsigned int))
#define EGmengerGetFather(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_FATHER],EGdGraphEdge_t*))
#define EGmengerGetOrigFather(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_ORIG_FATHER],EGdGraphEdge_t*))
#define EGmengerGetHeapConnector(v, os)   (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_HEAP_CONNECTOR],EGheapConnector_t*))
#define EGmengerGetEdgeCost(v, os)   (EGosGetData(((EGdGraphEdge_t*)(v))->data,os[EG_MENGER_ECOST],EGdijkstraCost_t))
#define EGmengerGetEdgeReducedCost(v, os)   (EGosGetData(((EGdGraphEdge_t*)(v))->data,os[EG_MENGER_REDUCED_ECOST],EGdijkstraCost_t))
#define EGmengerGetEdgeIsInSolution(v, os)   (EGosGetData(((EGdGraphEdge_t*)(v))->data,os[EG_MENGER_IS_IN_SOL],unsigned int))
#define EGmengerGetEdgeData(v, os)   (EGosGetData(((EGdGraphEdge_t*)(v))->data,os[EG_MENGER_EDATA],graphNodeP))

Functions

int EGmengerEmergencyRecovery (EGdGraph_t *G, size_t *os)
int EGmengerPathsADV (EGdGraphNode_t *s, EGdGraphNode_t *t, EGdijkstraCost_t ubound, unsigned int npaths, unsigned int *nfpaths, EGdijkstraCost_t *menger_val, EGheap_t *h, size_t *os, EGdGraph_t *G)
int EGmengerRecoverGraphAndSolution (EGdGraph_t *G, size_t *os, EGdGraphNode_t *s, EGdGraphNode_t *t, unsigned int npath, EGdGraphEdge_t **path, unsigned int *path_beg)


Define Documentation

#define EG_MENGER_DIST   1
 

Definition at line 19 of file eg_menger.h.

#define EG_MENGER_ECOST   10
 

Definition at line 29 of file eg_menger.h.

#define EG_MENGER_EDATA   13
 

Definition at line 32 of file eg_menger.h.

#define EG_MENGER_FATHER   7
 

Definition at line 25 of file eg_menger.h.

#define EG_MENGER_HEAP_CONNECTOR   9
 

Definition at line 27 of file eg_menger.h.

#define EG_MENGER_IS_IN_SOL   12
 

Definition at line 31 of file eg_menger.h.

#define EG_MENGER_MARK   5
 

Definition at line 23 of file eg_menger.h.

#define EG_MENGER_NDIST   3
 

Definition at line 21 of file eg_menger.h.

#define EG_MENGER_NUMOS   14
 

Definition at line 16 of file eg_menger.h.

#define EG_MENGER_ORIG_DIST   2
 

Definition at line 20 of file eg_menger.h.

#define EG_MENGER_ORIG_FATHER   8
 

Definition at line 26 of file eg_menger.h.

#define EG_MENGER_ORIG_MARK   6
 

Definition at line 24 of file eg_menger.h.

#define EG_MENGER_ORIG_NDIST   4
 

Definition at line 22 of file eg_menger.h.

#define EG_MENGER_PI   0
 

Definition at line 18 of file eg_menger.h.

#define EG_MENGER_REDUCED_ECOST   11
 

Definition at line 30 of file eg_menger.h.

#define EG_MENGER_SAFEMODE   0
 

Definition at line 35 of file eg_menger.h.

#define EGmengerGetDist v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_DIST],EGdijkstraCost_t))
 

Definition at line 70 of file eg_menger.h.

#define EGmengerGetEdgeCost v,
os   )     (EGosGetData(((EGdGraphEdge_t*)(v))->data,os[EG_MENGER_ECOST],EGdijkstraCost_t))
 

Definition at line 89 of file eg_menger.h.

#define EGmengerGetEdgeData v,
os   )     (EGosGetData(((EGdGraphEdge_t*)(v))->data,os[EG_MENGER_EDATA],graphNodeP))
 

Definition at line 95 of file eg_menger.h.

#define EGmengerGetEdgeIsInSolution v,
os   )     (EGosGetData(((EGdGraphEdge_t*)(v))->data,os[EG_MENGER_IS_IN_SOL],unsigned int))
 

Definition at line 93 of file eg_menger.h.

#define EGmengerGetEdgeReducedCost v,
os   )     (EGosGetData(((EGdGraphEdge_t*)(v))->data,os[EG_MENGER_REDUCED_ECOST],EGdijkstraCost_t))
 

Definition at line 91 of file eg_menger.h.

#define EGmengerGetFather v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_FATHER],EGdGraphEdge_t*))
 

Definition at line 82 of file eg_menger.h.

#define EGmengerGetHeapConnector v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_HEAP_CONNECTOR],EGheapConnector_t*))
 

Definition at line 86 of file eg_menger.h.

#define EGmengerGetMark v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_MARK],unsigned int))
 

Definition at line 78 of file eg_menger.h.

#define EGmengerGetNdist v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_NDIST],unsigned int))
 

Definition at line 74 of file eg_menger.h.

#define EGmengerGetOrigDist v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_ORIG_DIST],EGdijkstraCost_t))
 

Definition at line 72 of file eg_menger.h.

#define EGmengerGetOrigFather v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_ORIG_FATHER],EGdGraphEdge_t*))
 

Definition at line 84 of file eg_menger.h.

#define EGmengerGetOrigMark v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_ORIG_MARK],unsigned int))
 

Definition at line 80 of file eg_menger.h.

#define EGmengerGetOrigNdist v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_ORIG_NDIST],unsigned int))
 

Definition at line 76 of file eg_menger.h.

#define EGmengerGetPi v,
os   )     (EGosGetData(((EGdGraphNode_t*)(v))->data,os[EG_MENGER_PI],EGdijkstraCost_t))
 

Definition at line 68 of file eg_menger.h.

#define EGmengerSetDist n,
os,
 )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_DIST], EGdijkstraCost_t, f)
 

Definition at line 40 of file eg_menger.h.

#define EGmengerSetEdgeCost e,
os,
 )     EGosSetData(((EGdGraphEdge_t*)(e))->data, os[EG_MENGER_ECOST], EGdijkstraCost_t, c)
 

Definition at line 59 of file eg_menger.h.

#define EGmengerSetEdgeData e,
os,
 )     EGosSetData(((EGdGraphEdge_t*)(e))->data, os[EG_MENGER_EDATA], void*, d)
 

Definition at line 65 of file eg_menger.h.

#define EGmengerSetEdgeIsInSolution e,
os,
yn   )     EGosSetData(((EGdGraphEdge_t*)(e))->data, os[EG_MENGER_IS_IN_SOL], unsigned int, yn)
 

Definition at line 63 of file eg_menger.h.

#define EGmengerSetEdgeReducedCost e,
os,
 )     EGosSetData(((EGdGraphEdge_t*)(e))->data, os[EG_MENGER_REDUCED_ECOST], EGdijkstraCost_t, c)
 

Definition at line 61 of file eg_menger.h.

#define EGmengerSetFather n,
os,
 )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_FATHER], EGdGraphEdge_t*, f)
 

Definition at line 52 of file eg_menger.h.

#define EGmengerSetHeapConnector n,
os,
hc   )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_HEAP_CONNECTOR], EGheapConnector_t*, hc)
 

Definition at line 56 of file eg_menger.h.

#define EGmengerSetMark n,
os,
 )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_MARK], unsigned int, m)
 

Definition at line 48 of file eg_menger.h.

#define EGmengerSetNdist n,
os,
 )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_NDIST], unsigned int, d)
 

Definition at line 44 of file eg_menger.h.

#define EGmengerSetOrigDist n,
os,
 )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_ORIG_DIST], EGdijkstraCost_t, d)
 

Definition at line 42 of file eg_menger.h.

#define EGmengerSetOrigFather n,
os,
 )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_ORIG_FATHER], EGdGraphEdge_t*, f)
 

Definition at line 54 of file eg_menger.h.

#define EGmengerSetOrigMark n,
os,
 )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_ORIG_MARK], unsigned int, m)
 

Definition at line 50 of file eg_menger.h.

#define EGmengerSetOrigNdist n,
os,
 )     EGosSetData(((EGdGraphNode_t*)(n))->data, os[EG_MENGER_ORIG_NDIST], unsigned int, d)
 

Definition at line 46 of file eg_menger.h.

#define EGmengerSetPi n,
os,
 )     EGosSetData(((EGdGraphNode_t*)n)->data, os[EG_MENGER_PI], EGdijkstraCost_t, c)
 

Definition at line 38 of file eg_menger.h.

#define MENGER_USE_BELLFORD   0
 

Definition at line 14 of file eg_menger.h.


Function Documentation

int EGmengerEmergencyRecovery EGdGraph_t G,
size_t *  os
 

Definition at line 349 of file eg_menger.c.

int EGmengerPathsADV EGdGraphNode_t s,
EGdGraphNode_t t,
EGdijkstraCost_t  ubound,
unsigned int  npaths,
unsigned int *  nfpaths,
EGdijkstraCost_t menger_val,
EGheap_t h,
size_t *  os,
EGdGraph_t G
 

Definition at line 93 of file eg_menger.c.

int EGmengerRecoverGraphAndSolution EGdGraph_t G,
size_t *  os,
EGdGraphNode_t s,
EGdGraphNode_t t,
unsigned int  npath,
EGdGraphEdge_t **  path,
unsigned int *  path_beg
 

Definition at line 32 of file eg_menger.c.


Generated on Thu Oct 20 14:59:01 2005 for DominoParitySeparator by  doxygen 1.4.5