eg_pdp.c File Reference

#include "eg_pdp.h"

Include dependency graph for eg_pdp.c:

Go to the source code of this file.

Defines

#define EGd2dGetEdge(dedge)
#define EGd2dGetEdgeCost(dedge)
#define EGddGetEdge(DOM, a, b)
#define EGddPathGetEdge(dom, path, b)
#define GETROOTEDGE(curroot, Graph)   (Graph->G + Graph->G[curroot].link[1])
#define GETNEXTEDGE(curedge, curroot, Graph)   ((curedge->link[1] < Graph->N) ? GETROOTEDGE(curroot,Graph) : (Graph->G + curedge->link[1]))
#define GETOTHEREND(cedge, G)   (G->G[gp_GetTwinArc(G,cedge - G->G)].v)
#define DPU_GETID(edge, os)   (EGmengerGetEdgeData(edge,os)->id)

Functions

static int getNextA (unsigned int *nextA, unsigned int curA, unsigned int frontier, unsigned int bounds[3][2])
int EGfixDualDominos (EGlist_t *domino_list, int nnodes, int nedges, double *weight, int *edges, int *elim_edges, int nelim_edges, graphP G, EGmemPool_t *mem)
int EGuntangleAllDomino (EGlist_t *ddom_list, EGdGraph_t *dgraph, EGlist_t **embed, EGmemPool_t *mem)
int EGgetPrimalDP (EGddpConstraint_t *ddp, int nnodes, int nedges, int *const edges, int *const elim_edges, int nelim_edges, double *const weight, int *const ndom, int **const nAset, int **const nBset, int *const nHandle, int ***const Aset, int ***const Bset, int **const Handle, double *const violation, graphP G, EGmemPool_t *const mem)

Variables

static const size_t os [EG_MENGER_NUMOS]


Define Documentation

#define DPU_GETID edge,
os   )     (EGmengerGetEdgeData(edge,os)->id)
 

Definition at line 277 of file eg_pdp.c.

#define EGd2dGetEdge dedge   ) 
 

Value:

((graphNodeP)(\
    ((EGmengerEdgeData_t*)(((EGdGraphEdge_t*)(dedge))->data))->data ))

Definition at line 20 of file eg_pdp.c.

#define EGd2dGetEdgeCost dedge   ) 
 

Value:

(\
    ((EGmengerEdgeData_t*)(((EGdGraphEdge_t*)(dedge))->data))->cost)

Definition at line 24 of file eg_pdp.c.

#define EGddGetEdge DOM,
a,
 ) 
 

Value:

((graphNodeP)(((DOM)->DDtype == DOM_CC_ONE) ? \
    (DOM)->path[a][b]:((EGmengerEdgeData_t*)(((EGdGraphEdge_t*)\
    ((DOM)->path[a][b]))->data))->data))

Definition at line 29 of file eg_pdp.c.

#define EGddPathGetEdge dom,
path,
 ) 
 

Value:

((graphNodeP)((dom->DDtype == \
    DOM_DUAL_NORM) ? ((EGmengerEdgeData_t*)(((EGdGraphEdge_t*)\
    (path[b]))->data))->data : path[b]))

Definition at line 35 of file eg_pdp.c.

#define GETNEXTEDGE curedge,
curroot,
Graph   )     ((curedge->link[1] < Graph->N) ? GETROOTEDGE(curroot,Graph) : (Graph->G + curedge->link[1]))
 

Definition at line 45 of file eg_pdp.c.

#define GETOTHEREND cedge,
G   )     (G->G[gp_GetTwinArc(G,cedge - G->G)].v)
 

Definition at line 48 of file eg_pdp.c.

#define GETROOTEDGE curroot,
Graph   )     (Graph->G + Graph->G[curroot].link[1])
 

Definition at line 41 of file eg_pdp.c.


Function Documentation

int EGfixDualDominos EGlist_t domino_list,
int  nnodes,
int  nedges,
double *  weight,
int *  edges,
int *  elim_edges,
int  nelim_edges,
graphP  G,
EGmemPool_t mem
 

Definition at line 87 of file eg_pdp.c.

int EGgetPrimalDP EGddpConstraint_t ddp,
int  nnodes,
int  nedges,
int *const   edges,
int *const   elim_edges,
int  nelim_edges,
double *const   weight,
int *const   ndom,
int **const   nAset,
int **const   nBset,
int *const   nHandle,
int ***const   Aset,
int ***const   Bset,
int **const   Handle,
double *const   violation,
graphP  G,
EGmemPool_t *const   mem
 

Definition at line 707 of file eg_pdp.c.

int EGuntangleAllDomino EGlist_t ddom_list,
EGdGraph_t dgraph,
EGlist_t **  embed,
EGmemPool_t mem
 

Definition at line 282 of file eg_pdp.c.

static int getNextA unsigned int *  nextA,
unsigned int  curA,
unsigned int  frontier,
unsigned int  bounds[3][2]
[inline, static]
 

Definition at line 51 of file eg_pdp.c.


Variable Documentation

const size_t os[EG_MENGER_NUMOS] [static]
 

Initial value:

 {
  [EG_MENGER_PI] = offsetof (EGmengerNodeData_t, pi),
  [EG_MENGER_DIST] = offsetof (EGmengerNodeData_t, dist),
  [EG_MENGER_ORIG_DIST] = offsetof (EGmengerNodeData_t, orig_dist),
  [EG_MENGER_NDIST] = offsetof (EGmengerNodeData_t, ndist),
  [EG_MENGER_ORIG_NDIST] = offsetof (EGmengerNodeData_t, orig_ndist),
  [EG_MENGER_MARK] = offsetof (EGmengerNodeData_t, marker),
  [EG_MENGER_ORIG_MARK] = offsetof (EGmengerNodeData_t, orig_marker),
  [EG_MENGER_FATHER] = offsetof (EGmengerNodeData_t, father),
  [EG_MENGER_ORIG_FATHER] = offsetof (EGmengerNodeData_t, orig_father),
  [EG_MENGER_HEAP_CONNECTOR] = offsetof (EGmengerNodeData_t, hc),
  [EG_MENGER_ECOST] = offsetof (EGmengerEdgeData_t, cost),
  [EG_MENGER_REDUCED_ECOST] = offsetof (EGmengerEdgeData_t, reduced_cost),
  [EG_MENGER_IS_IN_SOL] = offsetof (EGmengerEdgeData_t, is_in_solution),
  [EG_MENGER_EDATA] = offsetof (EGmengerEdgeData_t, data)
}

Definition at line 3 of file eg_pdp.c.


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