eg_greedykp.c File Reference

#include "eg_greedykp.h"

Include dependency graph for eg_greedykp.c:

Go to the source code of this file.

Defines

#define EG_PRIMALIZATION_ERROR   0.001

Functions

EGgreedyData_tEGnewGreedyData (EGmemPool_t *mem)
void EGfreeGreedyData (void *vdata)
int EGfillGreedyData (EGgreedyData_t *data, EGdGraph_t *bdG, EGlist_t *ddom_list, EGlist_t **dembed, graphP G, int norig_nodes, int norig_edges, int nplanar_edges, int *orig_edges, int *planar_edges, double *orig_weight, double *planar_weight)
EGdualCut_tEGnewDualCut (EGmemPool_t *mem, unsigned int sz)
void EGfreeDualCut (void *v, EGmemPool_t *mem)
EGdcutIter_tEGnewDcutIter (EGgreedyData_t *gdata)
void EGfreeDcutIter (void *v)
int EGincrementDcutIter (EGdcutIter_t *zit)
EGdualCut_tEGgetDcut (EGdcutIter_t *zit)
int EGgetOddPrec (unsigned int s, unsigned int t, EGgreedyData_t *data)
int EGgetEvenPrec (unsigned int s, unsigned int t, EGgreedyData_t *data)
EGdijkstraCost_t EGgetEvenDistance (unsigned s, unsigned t, EGgreedyData_t *data)
EGdijkstraCost_t EGgetOddDistance (unsigned s, unsigned t, EGgreedyData_t *data)
int EGextractEEpath (unsigned int s, unsigned int t, EGgreedyData_t *data, EGlist_t *path)
EGdkpc_tEGdkdomToDKPC (EGdkdomino_t *dkdom, EGmemPool_t *mem)
EGdkpc_tEGdcutToDKPC (EGdualCut_t *dc, unsigned int orientation, EGmemPool_t *mem)
void EGfreeDKPC (void *v, EGmemPool_t *mem)
EGdkdomino_tEGdcutToDKdom (unsigned int max_k, EGdualCut_t *dc, unsigned int orientation, EGmemPool_t *mem)
void EGfreeDKdomino (void *v, EGmemPool_t *mem)
EGdijkstraCost_t EGweightDKdomino (EGdkdomino_t *dkd)
EGdijkstraCost_t EGcomputeDKPCslack (EGdkpc_t *dkpc)
int EGgrowHandle (EGdkpc_t *dkpc, EGdkdomino_t *link_dkdom, EGinternalPairs_t *p, EGgreedyData_t *data, EGmemPool_t *mem, unsigned char *const pndummy, unsigned char *const pedummy)
int EGgrowDKdomino (EGdkdomino_t *dkd, EGinternalPairs_t *p, int handle_num, EGmemPool_t *mem)
EGdkdomino_tEGddominoToDKdom (EGddomino_t *ddom, int h, int max_nh, EGgreedyData_t *gdata, EGmemPool_t *mem, unsigned char *const pndummy, unsigned char *const pedummy)
EGdualCut_tEGextractHandleCut (EGdkpc_t *dkpc, unsigned int h)
void EGdisplayDualCut (FILE *fout, EGdualCut_t *dc)
void EGdisplayInternalPair (FILE *fout, EGinternalPairs_t *p)
void EGdisplayDKdomino (FILE *fout, EGdkdomino_t *dkdom)
void EGdisplayDKPC (FILE *fout, EGdkpc_t *dkpc)
int EGprimalizeDKPC (EGdkpc_t *dkpc, EGgreedyData_t *gdata, EGpkpc_t *pkpc, unsigned char *const pndummy, unsigned char *const pedummy)
int EGprimalizeDKPCB (EGdkpc_t *dkpc, EGgreedyData_t *gdata, int *nhandles, int **handle_size, int ***handles, int *nteeth, int **teeth_size, int ***teeth, int **teeth_k, int ***teeth_handle, int ***teeth_nhalf, int ****teeth_halves, unsigned char *const pndummy, unsigned char *const pedummy)
void EGfreePKPC (void *v)
int EGfreePKPCB (int nhandles, int *handle_size, int **handles, int nteeth, int *teeth_size, int **teeth, int *teeth_k, int **teeth_handle, int **teeth_nhalf, int ***teeth_halves)
int EGnewPKPCset (int nineq, int **nhandles, int ***handle_size, int ****handles, int **nteeth, int ***teeth_size, int ****teeth, int ***teeth_k, int ****teeth_handle, int ****teeth_nhalf, int *****teeth_halves)
void EGcomputeDualCutValue (EGdualCut_t *dc)
double EGcomputePrimalCutValue (EGgreedyData_t *data, EGpkpc_t *pkpc, int set_size, int *set_nodes, int nnodes, int nedges, int *edges, double *weight, unsigned char *dummy)
double EGcomputeInterfaceValue (int T_size, int *T_nodes, int A_size, int *A_nodes, int nnodes, int nedges, int *edges, double *weight, unsigned char *dummy)
int EGincrementInterface (int T_size, int *T, int A_size, int *A, int nnodes, int nedges, int *edges, unsigned char *ndummy, unsigned char *emarkers)
double EGcomputePKPCslack (EGgreedyData_t *data, EGpkpc_t *pkpc, int nnodes, int nedges, int *edges, double *weight)
double EGcomputePKPCBslack (EGgreedyData_t *data, EGpkpc_t *pkpc, int nhandles, int *handle_size, int **handles, int nteeth, int *teeth_size, int **teeth, int *teeth_k, int **teeth_handle, int **teeth_nhalf, int ***teeth_halves, int nnodes, int nedges, int *edges, double *weight)
int EGkpTo2pTooth (int kp_size, int *kp_nodes, int kp_k, int *kp_handles, int *kp_nhalf, int **kp_halves, int *tp_naset, int *tp_nbset, int *tp_nmset, int **tp_aset, int **tp_bset, int **tp_mset, int nnodes, unsigned char *vdummy)
int EGremoveHandles (EGdkpc_t *dkpc, EGmemPool_t *mem)
EGdualCut_tEGcopyDualCut (EGmemPool_t *mem, EGdualCut_t *dc_in)
int KPseparateFromDualCut (EGdualCut_t *dcut, unsigned int orientation, EGgreedyData_t *gdata, int *nadded, double *best_val, double sample_time)
void EGdisplayStatus (FILE *fout, EGgreedyData_t *gdata)
int KPprocess_cut (int *cutset, int cutsize, double cutweight, void *process_indo, setlist **sets)
int EGaddDualCutToHeap (EGheap_t *h, EGdualCut_t *dc, int orientation, double lfval, EGmemPool_t *mem)
int EGareDualCutsEqual (EGdualCut_t *a, EGdualCut_t *b)


Define Documentation

#define EG_PRIMALIZATION_ERROR   0.001
 

Definition at line 2 of file eg_greedykp.c.


Function Documentation

int EGaddDualCutToHeap EGheap_t h,
EGdualCut_t dc,
int  orientation,
double  lfval,
EGmemPool_t mem
 

Definition at line 2038 of file eg_greedykp.c.

int EGareDualCutsEqual EGdualCut_t a,
EGdualCut_t b
 

Definition at line 2095 of file eg_greedykp.c.

EGdijkstraCost_t EGcomputeDKPCslack EGdkpc_t dkpc  ) 
 

Definition at line 732 of file eg_greedykp.c.

void EGcomputeDualCutValue EGdualCut_t dc  ) 
 

Definition at line 1335 of file eg_greedykp.c.

double EGcomputeInterfaceValue int  T_size,
int *  T_nodes,
int  A_size,
int *  A_nodes,
int  nnodes,
int  nedges,
int *  edges,
double *  weight,
unsigned char *  dummy
 

Definition at line 1382 of file eg_greedykp.c.

double EGcomputePKPCBslack EGgreedyData_t data,
EGpkpc_t pkpc,
int  nhandles,
int *  handle_size,
int **  handles,
int  nteeth,
int *  teeth_size,
int **  teeth,
int *  teeth_k,
int **  teeth_handle,
int **  teeth_nhalf,
int ***  teeth_halves,
int  nnodes,
int  nedges,
int *  edges,
double *  weight
 

Definition at line 1460 of file eg_greedykp.c.

double EGcomputePKPCslack EGgreedyData_t data,
EGpkpc_t pkpc,
int  nnodes,
int  nedges,
int *  edges,
double *  weight
 

Definition at line 1435 of file eg_greedykp.c.

double EGcomputePrimalCutValue EGgreedyData_t data,
EGpkpc_t pkpc,
int  set_size,
int *  set_nodes,
int  nnodes,
int  nedges,
int *  edges,
double *  weight,
unsigned char *  dummy
 

Definition at line 1353 of file eg_greedykp.c.

EGdualCut_t* EGcopyDualCut EGmemPool_t mem,
EGdualCut_t dc_in
 

Definition at line 1702 of file eg_greedykp.c.

EGdkdomino_t* EGdcutToDKdom unsigned int  max_k,
EGdualCut_t dc,
unsigned int  orientation,
EGmemPool_t mem
 

Definition at line 666 of file eg_greedykp.c.

EGdkpc_t* EGdcutToDKPC EGdualCut_t dc,
unsigned int  orientation,
EGmemPool_t mem
 

Definition at line 635 of file eg_greedykp.c.

EGdkdomino_t* EGddominoToDKdom EGddomino_t ddom,
int  h,
int  max_nh,
EGgreedyData_t gdata,
EGmemPool_t mem,
unsigned char *const   pndummy,
unsigned char *const   pedummy
 

Definition at line 854 of file eg_greedykp.c.

void EGdisplayDKdomino FILE *  fout,
EGdkdomino_t dkdom
 

Definition at line 990 of file eg_greedykp.c.

void EGdisplayDKPC FILE *  fout,
EGdkpc_t dkpc
 

Definition at line 1018 of file eg_greedykp.c.

void EGdisplayDualCut FILE *  fout,
EGdualCut_t dc
 

Definition at line 947 of file eg_greedykp.c.

void EGdisplayInternalPair FILE *  fout,
EGinternalPairs_t p
 

Definition at line 968 of file eg_greedykp.c.

void EGdisplayStatus FILE *  fout,
EGgreedyData_t gdata
 

Definition at line 1957 of file eg_greedykp.c.

EGdkpc_t* EGdkdomToDKPC EGdkdomino_t dkdom,
EGmemPool_t mem
 

Definition at line 612 of file eg_greedykp.c.

int EGextractEEpath unsigned int  s,
unsigned int  t,
EGgreedyData_t data,
EGlist_t path
 

Definition at line 523 of file eg_greedykp.c.

EGdualCut_t* EGextractHandleCut EGdkpc_t dkpc,
unsigned int  h
 

Definition at line 909 of file eg_greedykp.c.

int EGfillGreedyData EGgreedyData_t data,
EGdGraph_t bdG,
EGlist_t ddom_list,
EGlist_t **  dembed,
graphP  G,
int  norig_nodes,
int  norig_edges,
int  nplanar_edges,
int *  orig_edges,
int *  planar_edges,
double *  orig_weight,
double *  planar_weight
 

Definition at line 90 of file eg_greedykp.c.

void EGfreeDcutIter void *  v  ) 
 

Definition at line 372 of file eg_greedykp.c.

void EGfreeDKdomino void *  v,
EGmemPool_t mem
 

Definition at line 687 of file eg_greedykp.c.

void EGfreeDKPC void *  v,
EGmemPool_t mem
 

Definition at line 646 of file eg_greedykp.c.

void EGfreeDualCut void *  v,
EGmemPool_t mem
 

Definition at line 339 of file eg_greedykp.c.

void EGfreeGreedyData void *  vdata  ) 
 

Definition at line 22 of file eg_greedykp.c.

void EGfreePKPC void *  v  ) 
 

Definition at line 1241 of file eg_greedykp.c.

int EGfreePKPCB int  nhandles,
int *  handle_size,
int **  handles,
int  nteeth,
int *  teeth_size,
int **  teeth,
int *  teeth_k,
int **  teeth_handle,
int **  teeth_nhalf,
int ***  teeth_halves
 

Definition at line 1263 of file eg_greedykp.c.

EGdualCut_t* EGgetDcut EGdcutIter_t zit  ) 
 

Definition at line 417 of file eg_greedykp.c.

EGdijkstraCost_t EGgetEvenDistance unsigned  s,
unsigned  t,
EGgreedyData_t data
 

note that s and t are not sorted in any way, the corresnpond to a node ID in the bdG graph

Definition at line 494 of file eg_greedykp.c.

int EGgetEvenPrec unsigned int  s,
unsigned int  t,
EGgreedyData_t data
 

Definition at line 479 of file eg_greedykp.c.

EGdijkstraCost_t EGgetOddDistance unsigned  s,
unsigned  t,
EGgreedyData_t data
 

Definition at line 512 of file eg_greedykp.c.

int EGgetOddPrec unsigned int  s,
unsigned int  t,
EGgreedyData_t data
 

Definition at line 469 of file eg_greedykp.c.

int EGgrowDKdomino EGdkdomino_t dkd,
EGinternalPairs_t p,
int  handle_num,
EGmemPool_t mem
 

Definition at line 827 of file eg_greedykp.c.

int EGgrowHandle EGdkpc_t dkpc,
EGdkdomino_t link_dkdom,
EGinternalPairs_t p,
EGgreedyData_t data,
EGmemPool_t mem,
unsigned char *const   pndummy,
unsigned char *const   pedummy
 

Definition at line 769 of file eg_greedykp.c.

int EGincrementDcutIter EGdcutIter_t zit  ) 
 

Definition at line 388 of file eg_greedykp.c.

int EGincrementInterface int  T_size,
int *  T,
int  A_size,
int *  A,
int  nnodes,
int  nedges,
int *  edges,
unsigned char *  ndummy,
unsigned char *  emarkers
 

Definition at line 1415 of file eg_greedykp.c.

int EGkpTo2pTooth int  kp_size,
int *  kp_nodes,
int  kp_k,
int *  kp_handles,
int *  kp_nhalf,
int **  kp_halves,
int *  tp_naset,
int *  tp_nbset,
int *  tp_nmset,
int **  tp_aset,
int **  tp_bset,
int **  tp_mset,
int  nnodes,
unsigned char *  vdummy
 

Definition at line 1571 of file eg_greedykp.c.

EGdcutIter_t* EGnewDcutIter EGgreedyData_t gdata  ) 
 

Definition at line 352 of file eg_greedykp.c.

EGdualCut_t* EGnewDualCut EGmemPool_t mem,
unsigned int  sz
 

Definition at line 320 of file eg_greedykp.c.

EGgreedyData_t* EGnewGreedyData EGmemPool_t mem  ) 
 

Definition at line 4 of file eg_greedykp.c.

int EGnewPKPCset int  nineq,
int **  nhandles,
int ***  handle_size,
int ****  handles,
int **  nteeth,
int ***  teeth_size,
int ****  teeth,
int ***  teeth_k,
int ****  teeth_handle,
int ****  teeth_nhalf,
int *****  teeth_halves
 

Definition at line 1305 of file eg_greedykp.c.

int EGprimalizeDKPC EGdkpc_t dkpc,
EGgreedyData_t gdata,
EGpkpc_t pkpc,
unsigned char *const   pndummy,
unsigned char *const   pedummy
 

Definition at line 1072 of file eg_greedykp.c.

int EGprimalizeDKPCB EGdkpc_t dkpc,
EGgreedyData_t gdata,
int *  nhandles,
int **  handle_size,
int ***  handles,
int *  nteeth,
int **  teeth_size,
int ***  teeth,
int **  teeth_k,
int ***  teeth_handle,
int ***  teeth_nhalf,
int ****  teeth_halves,
unsigned char *const   pndummy,
unsigned char *const   pedummy
 

Definition at line 1140 of file eg_greedykp.c.

int EGremoveHandles EGdkpc_t dkpc,
EGmemPool_t mem
 

Definition at line 1656 of file eg_greedykp.c.

EGdijkstraCost_t EGweightDKdomino EGdkdomino_t dkd  ) 
 

Definition at line 708 of file eg_greedykp.c.

int KPprocess_cut int *  cutset,
int  cutsize,
double  cutweight,
void *  process_indo,
setlist **  sets
 

Definition at line 1982 of file eg_greedykp.c.

int KPseparateFromDualCut EGdualCut_t dcut,
unsigned int  orientation,
EGgreedyData_t gdata,
int *  nadded,
double *  best_val,
double  sample_time
 

Definition at line 1719 of file eg_greedykp.c.


Generated on Thu Oct 20 14:58:56 2005 for DominoParitySeparator by  doxygen 1.4.5