|
tlds
Transactional Operations for Linked Data Structures
|
#include <assert.h>#include <stdlib.h>#include "coordinate.h"#include "grid.h"#include "queue.h"#include "router.h"#include "tm.h"#include "vector.h"Classes | |
| struct | point |
Typedefs | |
| typedef enum momentum | momentum_t |
| typedef struct point | point_t |
Enumerations | |
| enum | momentum { MOMENTUM_ZERO = 0, MOMENTUM_POSX = 1, MOMENTUM_POSY = 2, MOMENTUM_POSZ = 3, MOMENTUM_NEGX = 4, MOMENTUM_NEGY = 5, MOMENTUM_NEGZ = 6 } |
Functions | |
| router_t * | router_alloc (long xCost, long yCost, long zCost, long bendCost) |
| void | router_free (router_t *routerPtr) |
| static void | PexpandToNeighbor (grid_t *myGridPtr, long x, long y, long z, long value, queue_t *queuePtr) |
| static bool_t | PdoExpansion (router_t *routerPtr, grid_t *myGridPtr, queue_t *queuePtr, coordinate_t *srcPtr, coordinate_t *dstPtr) |
| static void | traceToNeighbor (grid_t *myGridPtr, point_t *currPtr, point_t *movePtr, bool_t useMomentum, long bendCost, point_t *nextPtr) |
| static vector_t * | PdoTraceback (grid_t *gridPtr, grid_t *myGridPtr, coordinate_t *dstPtr, long bendCost) |
| void | router_solve (void *argPtr) |
Variables | |
| point_t | MOVE_POSX = { 1, 0, 0, 0, MOMENTUM_POSX} |
| point_t | MOVE_POSY = { 0, 1, 0, 0, MOMENTUM_POSY} |
| point_t | MOVE_POSZ = { 0, 0, 1, 0, MOMENTUM_POSZ} |
| point_t | MOVE_NEGX = {-1, 0, 0, 0, MOMENTUM_NEGX} |
| point_t | MOVE_NEGY = { 0, -1, 0, 0, MOMENTUM_NEGY} |
| point_t | MOVE_NEGZ = { 0, 0, -1, 0, MOMENTUM_NEGZ} |
| typedef enum momentum momentum_t |
| enum momentum |
|
static |
|
static |
|
static |
| router_t* router_alloc | ( | long | xCost, |
| long | yCost, | ||
| long | zCost, | ||
| long | bendCost | ||
| ) |
| void router_free | ( | router_t * | routerPtr | ) |
| void router_solve | ( | void * | argPtr | ) |
|
static |
| point_t MOVE_NEGX = {-1, 0, 0, 0, MOMENTUM_NEGX} |
| point_t MOVE_NEGY = { 0, -1, 0, 0, MOMENTUM_NEGY} |
| point_t MOVE_NEGZ = { 0, 0, -1, 0, MOMENTUM_NEGZ} |
| point_t MOVE_POSX = { 1, 0, 0, 0, MOMENTUM_POSX} |
| point_t MOVE_POSY = { 0, 1, 0, 0, MOMENTUM_POSY} |
| point_t MOVE_POSZ = { 0, 0, 1, 0, MOMENTUM_POSZ} |