graphdual.c File Reference

#include "graphdual.h"

Include dependency graph for graphdual.c:

Go to the source code of this file.

Data Structures

struct  localEdge_t

Defines

#define GRD_TEST   1
#define GETROOTEDGE(curroot, G)   (G->G + G->G[curroot].link[1])
#define GETNEXTEDGE(curedge, curroot, G)   ((curedge->link[1] < G->N) ? GETROOTEDGE(curroot,G) : (G->G + curedge->link[1]))
#define ISNODEEMPTY(curroot, G)   (G->G[curroot].link[1] < G->N ? 1 : 0 )
#define GETOTHEREND(cedge, nroot, G)   (G->G[gp_GetTwinArc(G,(cedge == GETROOTEDGE( nroot, G ) ? (G->G[nroot].link[1]) : (G->G[cedge->link[0]].link[1])))].v)

Typedefs

typedef const localEdge_tclep_t
typedef const clep_tcclep_t

Functions

static int localEdgeCompare (const void *p1, const void *p2)
static int sortEdgeIndices (int nedges, int *edges, int *indices, double *x)
static int sortEdges (int nedges, int *edges, double *x)
EGdGraph_tgetDualBoyer (graphP G, int nnodes, int nedges, double *weigh, EGlist_t ***dembed, EGmemPool_t *localmem, EGlist_t ***lembed)
int DPedgeEliminationHeuristic (int nnodes, int nedges, int *edges, double *weight, int *nplanar_edges, int *planar_edges, double *planar_weight, int *nelim_indices, int *elim_indices)
int isPlanarBoyer (int nnodes, int nedges, int *edges)
int isPlanarOrMinorBoyer (int nnodes, int nedges, int *edges, int *nmedges, int *medges)
int DPbinPlanarizeBoyer (int nnodes, int nedges1, int nedges2, int *edges, double *weigh, int *nedges3, int *edges3, double *weigh3, int *elim_indices)
int DPgetTrivialNodesToContract (int nnodes, int nedges, int *edges, double *weight, int *node_1, int *node_2)
int DPgetNonMinorNodesToContract (int nnodes, int nedges, int *edges, double *weight, int *node_1, int *node_2)
int DPgetMinorNodesToContract (int nnodes, int nedges, int *edges, int *node_1, int *node_2)
int DPfindBadEdgeK (int nnodes, int nedges, int *edges, double *weight, int k)
int DPfindBadEdge (int nnodes, int nedges, int *edges, double *weight)
int DPfastEdgeEliminationHeuristic (int nnodes, int nedges1, int *edges, double *weight, int *nedges2, int *edges2, double *weight2, int *nelim, int *elim_indices, int k_param)
int DPfindBadBinEdge (int nnodes, int nedges, int *edges)
int DPfindBadBinEdgeK (int nnodes, int nedges, int *edges, double *weight, int k)
int DPgetBinMinor (int nnodes, int nedges, int *edges, int *nmedges, int *medges, int k)


Define Documentation

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

Definition at line 109 of file graphdual.c.

#define GETOTHEREND cedge,
nroot,
G   )     (G->G[gp_GetTwinArc(G,(cedge == GETROOTEDGE( nroot, G ) ? (G->G[nroot].link[1]) : (G->G[cedge->link[0]].link[1])))].v)
 

Definition at line 111 of file graphdual.c.

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

Definition at line 108 of file graphdual.c.

#define GRD_TEST   1
 

Definition at line 3 of file graphdual.c.

#define ISNODEEMPTY curroot,
G   )     (G->G[curroot].link[1] < G->N ? 1 : 0 )
 

Definition at line 110 of file graphdual.c.


Typedef Documentation

typedef const clep_t* cclep_t
 

Definition at line 17 of file graphdual.c.

typedef const localEdge_t* clep_t
 

Definition at line 16 of file graphdual.c.


Function Documentation

int DPbinPlanarizeBoyer int  nnodes,
int  nedges1,
int  nedges2,
int *  edges,
double *  weigh,
int *  nedges3,
int *  edges3,
double *  weigh3,
int *  elim_indices
 

Definition at line 487 of file graphdual.c.

int DPedgeEliminationHeuristic int  nnodes,
int  nedges,
int *  edges,
double *  weight,
int *  nplanar_edges,
int *  planar_edges,
double *  planar_weight,
int *  nelim_indices,
int *  elim_indices
 

Definition at line 379 of file graphdual.c.

int DPfastEdgeEliminationHeuristic int  nnodes,
int  nedges1,
int *  edges,
double *  weight,
int *  nedges2,
int *  edges2,
double *  weight2,
int *  nelim,
int *  elim_indices,
int  k_param
 

Definition at line 1070 of file graphdual.c.

int DPfindBadBinEdge int  nnodes,
int  nedges,
int *  edges
 

Definition at line 1166 of file graphdual.c.

int DPfindBadBinEdgeK int  nnodes,
int  nedges,
int *  edges,
double *  weight,
int  k
 

Definition at line 1220 of file graphdual.c.

int DPfindBadEdge int  nnodes,
int  nedges,
int *  edges,
double *  weight
 

Definition at line 1026 of file graphdual.c.

int DPfindBadEdgeK int  nnodes,
int  nedges,
int *  edges,
double *  weight,
int  k
 

Definition at line 952 of file graphdual.c.

int DPgetBinMinor int  nnodes,
int  nedges,
int *  edges,
int *  nmedges,
int *  medges,
int  k
 

Definition at line 1273 of file graphdual.c.

int DPgetMinorNodesToContract int  nnodes,
int  nedges,
int *  edges,
int *  node_1,
int *  node_2
 

Definition at line 854 of file graphdual.c.

int DPgetNonMinorNodesToContract int  nnodes,
int  nedges,
int *  edges,
double *  weight,
int *  node_1,
int *  node_2
 

Definition at line 685 of file graphdual.c.

int DPgetTrivialNodesToContract int  nnodes,
int  nedges,
int *  edges,
double *  weight,
int *  node_1,
int *  node_2
 

Definition at line 646 of file graphdual.c.

EGdGraph_t* getDualBoyer graphP  G,
int  nnodes,
int  nedges,
double *  weigh,
EGlist_t ***  dembed,
EGmemPool_t localmem,
EGlist_t ***  lembed
 

Definition at line 115 of file graphdual.c.

int isPlanarBoyer int  nnodes,
int  nedges,
int *  edges
 

Definition at line 421 of file graphdual.c.

int isPlanarOrMinorBoyer int  nnodes,
int  nedges,
int *  edges,
int *  nmedges,
int *  medges
 

Definition at line 443 of file graphdual.c.

static int localEdgeCompare const void *  p1,
const void *  p2
[static]
 

Definition at line 19 of file graphdual.c.

static int sortEdgeIndices int  nedges,
int *  edges,
int *  indices,
double *  x
[static]
 

Definition at line 28 of file graphdual.c.

static int sortEdges int  nedges,
int *  edges,
double *  x
[static]
 

Definition at line 68 of file graphdual.c.


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