#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 |
|
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. |
|
Value: (\ ((EGmengerEdgeData_t*)(((EGdGraphEdge_t*)(dedge))->data))->cost) Definition at line 326 of file eg_ddpconstraint.c. |
|
Definition at line 298 of file eg_ddpconstraint.c. |
|
Definition at line 535 of file eg_ddpconstraint.c. |
|
Definition at line 915 of file eg_ddpconstraint.c. |
|
Definition at line 440 of file eg_ddpconstraint.c. |
|
Definition at line 1073 of file eg_ddpconstraint.c. |
|
Definition at line 1417 of file eg_ddpconstraint.c. |
|
Definition at line 400 of file eg_ddpconstraint.c. |
|
Definition at line 777 of file eg_ddpconstraint.c. |
|
Definition at line 105 of file eg_ddpconstraint.c. |
|
Definition at line 368 of file eg_ddpconstraint.c. |
|
Definition at line 1341 of file eg_ddpconstraint.c. |
|
Definition at line 330 of file eg_ddpconstraint.c. |
|
Definition at line 1382 of file eg_ddpconstraint.c. |
|
Definition at line 467 of file eg_ddpconstraint.c. |
|
Definition at line 34 of file eg_ddpconstraint.c. |
|
Definition at line 309 of file eg_ddpconstraint.c. |
|
Definition at line 157 of file eg_ddpconstraint.c. |
|
Definition at line 280 of file eg_ddpconstraint.c. |
|
Definition at line 45 of file eg_ddpconstraint.c. |
|
Definition at line 9 of file eg_ddpconstraint.c. |
|
Definition at line 128 of file eg_ddpconstraint.c. |
|
Definition at line 167 of file eg_ddpconstraint.c. |
|
Definition at line 477 of file eg_ddpconstraint.c. |
|
Definition at line 329 of file eg_ddpconstraint.c. |
|
Definition at line 775 of file eg_ddpconstraint.c. |
|
Definition at line 776 of file eg_ddpconstraint.c. |
|
Definition at line 328 of file eg_ddpconstraint.c. |
|
Definition at line 103 of file eg_ddpconstraint.c. |