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_t * EGnewCycleData (EGmemPool_t *mem, EGdijkstraCost_t new_weight, EGddomino_t *new_ddom, EGdGraphEdge_t *new_e)
void EGfreeCycleDataMP (void *v, EGmemPool_t *mem)
EGdGraph_t * EGnewCycleGraph (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_t * EGnewDDPconstraint (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_t * EGddpHeuristicSample (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,
b   ) 
 

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