eg_ddpconstraint.c File Reference

#include "eg_ddpconstraint.h"

Include dependency graph for eg_ddpconstraint.c:

Go to the source code of this file.

Defines

#define EGddGetEdge(DOM, a, b)
#define EGddGetEdgeCost(dedge)

Functions

static int EGgetPrimalDPdist (EGddpConstraint_t const *const ddp, double *const dist)
static int EGdominoCompare (const void *p1, const void *p2)
static int EGgetPrimalDPangle (EGddpConstraint_t const *const ddp1, EGddpConstraint_t const *const ddp2, double *const angle)
static double EGddpHeuristicVal (EGdijkstraCost_t dcost)
static EGcycleData_tEGnewCycleData (EGmemPool_t *mem, EGdijkstraCost_t new_weight, EGddomino_t *new_ddom, EGdGraphEdge_t *new_e)
void EGfreeCycleDataMP (void *v, EGmemPool_t *mem)
EGdGraph_tEGnewCycleGraph (EGmemPool_t *mem, EGlist_t *dlist, EGdGraph_t *bdG, EGdijkstraCost_t max_val)
void EGfreeDDPconstraintMP (void *v, EGmemPool_t *mem)
int EGboyerEdgeNumber (const EGdGraphEdge_t *e)
int EGedgeCompare (const void *p1, const void *p2)
static int EGddpMuCondition (EGddpConstraint_t *ddpc)
static int EGddpIsMinimal (EGddpConstraint_t *ddpc, unsigned int *marray, unsigned int marray_size)
static int EGddpExtractSolution (EGdGraphEdge_t **path, unsigned int *npath, EGdGraphNode_t *t, EGdijkstraCost_t *LHS_val)
static int EGddpAreSame (EGddpConstraint_t *c1, EGddpConstraint_t *c2)
static int EGddpSortData (EGddpConstraint_t *c)
static EGddpConstraint_tEGnewDDPconstraint (EGmemPool_t *mem, EGdGraphEdge_t **dij_sol, unsigned int ndij_sol, int k, EGdijkstraCost_t val)
static int EGddpAddCutIfNew (EGddpConstraint_t **ddpc_array, double *const ddpc_dist, double *const ddpc_angle_norm, double *const *const ddpc_angle, unsigned int *const ddpc_size, unsigned int const ddpc_max_size, double *const ddpc_best_angle, double *const ddpc_worst_angle, unsigned int *const ddpc_worst_angle_id, EGdGraphNode_t *nrigh, EGdGraph_t *cycleG, EGdGraphEdge_t **dij_sol, unsigned int *marray, char *sarray, size_t *os, int k, EGmemPool_t *mem)
static EGdGraphEdge_tEGddpHeuristicSample (EGdGraphNode_t *n, unsigned int *marked_node_array, unsigned int n_marked_dominoes, unsigned int *odd_num, int *ddom_markers, int k)
int EGddpAddHeuristicCuts_3 (EGddpConstraint_t **ddpc_array, double *const ddpc_dist, double *const ddpc_angle_norm, double *const *const ddpc_angle, unsigned int *const ddpc_size, unsigned int const ddpc_max_size, double *const ddpc_best_angle, double *const ddpc_worst_angle, unsigned int *const ddpc_worst_angle_id, int const nedges, EGdGraphNode_t *start_node, EGdGraphEdge_t *start_edge, int k, double ubound, EGdGraph_t *cycleG, EGdGraphEdge_t **dij_sol, unsigned int *marray, char *sarray, unsigned int *odd_num, unsigned int nddom, int *ddom_markers, size_t *os, double max_node_time, EGmemPool_t *mem)
int EGddpcComputeAll (EGmemPool_t *mem, EGdGraph_t *bdG, EGlist_t *dlist, EGlist_t *ddpc_list, int const nedges, int k)
int EGddpIsSolutionValid (EGdGraphNode_t *t, int *ddom_markers, unsigned int num_ddom)
int EGddpSetMaxWeight (EGdGraph_t *cycleG, double *max_weight)
void EGddpcDisplay (EGddpConstraint_t *ddpc, FILE *file)

Variables

static long long unsigned int global_cnt = 0
static unsigned int __ndisc = 0
static unsigned int __accept = 0
static unsigned char * __edge_valid = 0
static unsigned int __edge_valid_size = 0


Define Documentation

#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 5 of file eg_ddpconstraint.c.

#define EGddGetEdgeCost dedge   ) 
 

Value:

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

Definition at line 326 of file eg_ddpconstraint.c.


Function Documentation

int EGboyerEdgeNumber const EGdGraphEdge_t e  ) 
 

Definition at line 298 of file eg_ddpconstraint.c.

static int EGddpAddCutIfNew EGddpConstraint_t **  ddpc_array,
double *const   ddpc_dist,
double *const   ddpc_angle_norm,
double *const *const   ddpc_angle,
unsigned int *const   ddpc_size,
unsigned int const   ddpc_max_size,
double *const   ddpc_best_angle,
double *const   ddpc_worst_angle,
unsigned int *const   ddpc_worst_angle_id,
EGdGraphNode_t nrigh,
EGdGraph_t cycleG,
EGdGraphEdge_t **  dij_sol,
unsigned int *  marray,
char *  sarray,
size_t *  os,
int  k,
EGmemPool_t mem
[static]
 

Definition at line 535 of file eg_ddpconstraint.c.

int EGddpAddHeuristicCuts_3 EGddpConstraint_t **  ddpc_array,
double *const   ddpc_dist,
double *const   ddpc_angle_norm,
double *const *const   ddpc_angle,
unsigned int *const   ddpc_size,
unsigned int const   ddpc_max_size,
double *const   ddpc_best_angle,
double *const   ddpc_worst_angle,
unsigned int *const   ddpc_worst_angle_id,
int const   nedges,
EGdGraphNode_t start_node,
EGdGraphEdge_t start_edge,
int  k,
double  ubound,
EGdGraph_t cycleG,
EGdGraphEdge_t **  dij_sol,
unsigned int *  marray,
char *  sarray,
unsigned int *  odd_num,
unsigned int  nddom,
int *  ddom_markers,
size_t *  os,
double  max_node_time,
EGmemPool_t mem
 

Definition at line 915 of file eg_ddpconstraint.c.

static int EGddpAreSame EGddpConstraint_t c1,
EGddpConstraint_t c2
[inline, static]
 

Definition at line 440 of file eg_ddpconstraint.c.

int EGddpcComputeAll EGmemPool_t mem,
EGdGraph_t bdG,
EGlist_t dlist,
EGlist_t ddpc_list,
int const   nedges,
int  k
 

Definition at line 1073 of file eg_ddpconstraint.c.

void EGddpcDisplay EGddpConstraint_t ddpc,
FILE *  file
 

Definition at line 1417 of file eg_ddpconstraint.c.

static int EGddpExtractSolution EGdGraphEdge_t **  path,
unsigned int *  npath,
EGdGraphNode_t t,
EGdijkstraCost_t LHS_val
[inline, static]
 

Definition at line 400 of file eg_ddpconstraint.c.

static EGdGraphEdge_t* EGddpHeuristicSample EGdGraphNode_t n,
unsigned int *  marked_node_array,
unsigned int  n_marked_dominoes,
unsigned int *  odd_num,
int *  ddom_markers,
int  k
[inline, static]
 

Definition at line 777 of file eg_ddpconstraint.c.

static double EGddpHeuristicVal EGdijkstraCost_t  dcost  )  [inline, static]
 

Definition at line 105 of file eg_ddpconstraint.c.

static int EGddpIsMinimal EGddpConstraint_t ddpc,
unsigned int *  marray,
unsigned int  marray_size
[inline, static]
 

Definition at line 368 of file eg_ddpconstraint.c.

int EGddpIsSolutionValid EGdGraphNode_t t,
int *  ddom_markers,
unsigned int  num_ddom
 

Definition at line 1341 of file eg_ddpconstraint.c.

static int EGddpMuCondition EGddpConstraint_t ddpc  )  [inline, static]
 

Definition at line 330 of file eg_ddpconstraint.c.

int EGddpSetMaxWeight EGdGraph_t cycleG,
double *  max_weight
 

Definition at line 1382 of file eg_ddpconstraint.c.

static int EGddpSortData EGddpConstraint_t c  )  [inline, static]
 

Definition at line 467 of file eg_ddpconstraint.c.

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

Definition at line 34 of file eg_ddpconstraint.c.

int EGedgeCompare const void *  p1,
const void *  p2
 

Definition at line 309 of file eg_ddpconstraint.c.

void EGfreeCycleDataMP void *  v,
EGmemPool_t mem
 

Definition at line 157 of file eg_ddpconstraint.c.

void EGfreeDDPconstraintMP void *  v,
EGmemPool_t mem
 

Definition at line 280 of file eg_ddpconstraint.c.

static int EGgetPrimalDPangle EGddpConstraint_t const *const   ddp1,
EGddpConstraint_t const *const   ddp2,
double *const   angle
[inline, static]
 

Definition at line 45 of file eg_ddpconstraint.c.

static int EGgetPrimalDPdist EGddpConstraint_t const *const   ddp,
double *const   dist
[inline, static]
 

Definition at line 9 of file eg_ddpconstraint.c.

static EGcycleData_t* EGnewCycleData EGmemPool_t mem,
EGdijkstraCost_t  new_weight,
EGddomino_t new_ddom,
EGdGraphEdge_t new_e
[inline, static]
 

Definition at line 128 of file eg_ddpconstraint.c.

EGdGraph_t* EGnewCycleGraph EGmemPool_t mem,
EGlist_t dlist,
EGdGraph_t bdG,
EGdijkstraCost_t  max_val
 

Definition at line 167 of file eg_ddpconstraint.c.

static EGddpConstraint_t* EGnewDDPconstraint EGmemPool_t mem,
EGdGraphEdge_t **  dij_sol,
unsigned int  ndij_sol,
int  k,
EGdijkstraCost_t  val
[inline, static]
 

Definition at line 477 of file eg_ddpconstraint.c.


Variable Documentation

unsigned int __accept = 0 [static]
 

Definition at line 329 of file eg_ddpconstraint.c.

unsigned char* __edge_valid = 0 [static]
 

Definition at line 775 of file eg_ddpconstraint.c.

unsigned int __edge_valid_size = 0 [static]
 

Definition at line 776 of file eg_ddpconstraint.c.

unsigned int __ndisc = 0 [static]
 

Definition at line 328 of file eg_ddpconstraint.c.

long long unsigned int global_cnt = 0 [static]
 

Definition at line 103 of file eg_ddpconstraint.c.


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