tlds
Transactional Operations for Linked Data Structures
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
router.h
Go to the documentation of this file.
1
/* =============================================================================
2
*
3
* router.h
4
*
5
* =============================================================================
6
*
7
* Copyright (C) Stanford University, 2006. All Rights Reserved.
8
* Author: Chi Cao Minh
9
*
10
* =============================================================================
11
*
12
* For the license of bayes/sort.h and bayes/sort.c, please see the header
13
* of the files.
14
*
15
* ------------------------------------------------------------------------
16
*
17
* For the license of kmeans, please see kmeans/LICENSE.kmeans
18
*
19
* ------------------------------------------------------------------------
20
*
21
* For the license of ssca2, please see ssca2/COPYRIGHT
22
*
23
* ------------------------------------------------------------------------
24
*
25
* For the license of lib/mt19937ar.c and lib/mt19937ar.h, please see the
26
* header of the files.
27
*
28
* ------------------------------------------------------------------------
29
*
30
* For the license of lib/rbtree.h and lib/rbtree.c, please see
31
* lib/LEGALNOTICE.rbtree and lib/LICENSE.rbtree
32
*
33
* ------------------------------------------------------------------------
34
*
35
* Unless otherwise noted, the following license applies to STAMP files:
36
*
37
* Copyright (c) 2007, Stanford University
38
* All rights reserved.
39
*
40
* Redistribution and use in source and binary forms, with or without
41
* modification, are permitted provided that the following conditions are
42
* met:
43
*
44
* * Redistributions of source code must retain the above copyright
45
* notice, this list of conditions and the following disclaimer.
46
*
47
* * Redistributions in binary form must reproduce the above copyright
48
* notice, this list of conditions and the following disclaimer in
49
* the documentation and/or other materials provided with the
50
* distribution.
51
*
52
* * Neither the name of Stanford University nor the names of its
53
* contributors may be used to endorse or promote products derived
54
* from this software without specific prior written permission.
55
*
56
* THIS SOFTWARE IS PROVIDED BY STANFORD UNIVERSITY ``AS IS'' AND ANY
57
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
58
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL STANFORD UNIVERSITY BE LIABLE
60
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
61
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
62
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
63
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
64
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
65
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
66
* THE POSSIBILITY OF SUCH DAMAGE.
67
*
68
* =============================================================================
69
*/
70
71
72
#ifndef ROUTER_H
73
#define ROUTER_H 1
74
75
76
#include "
grid.h
"
77
#include "
maze.h
"
78
#include "
tm.h
"
79
#include "
vector.h
"
80
81
typedef
struct
router
{
82
long
xCost
;
83
long
yCost
;
84
long
zCost
;
85
long
bendCost
;
86
}
router_t
;
87
88
typedef
struct
router_solve_arg
{
89
router_t
*
routerPtr
;
90
maze_t
*
mazePtr
;
91
list_t
*
pathVectorListPtr
;
92
}
router_solve_arg_t
;
93
94
95
/* =============================================================================
96
* router_alloc
97
* =============================================================================
98
*/
99
router_t
*
100
router_alloc
(
long
xCost,
long
yCost,
long
zCost,
long
bendCost);
101
102
103
/* =============================================================================
104
* router_free
105
* =============================================================================
106
*/
107
void
108
router_free
(
router_t
* routerPtr);
109
110
111
/* =============================================================================
112
* router_solve
113
* =============================================================================
114
*/
115
void
116
router_solve
(
void
* argPtr);
117
118
119
#endif
/* ROUTER_H */
120
121
122
/* =============================================================================
123
*
124
* End of router.h
125
*
126
* =============================================================================
127
*/
router::yCost
long yCost
Definition:
router.h:83
router_solve_arg
Definition:
router.h:88
router_solve
void router_solve(void *argPtr)
Definition:
router.c:354
router
Definition:
router.h:81
maze
Definition:
maze.h:84
router_solve_arg::routerPtr
router_t * routerPtr
Definition:
router.h:89
router_solve_arg::pathVectorListPtr
list_t * pathVectorListPtr
Definition:
router.h:91
maze.h
router_free
void router_free(router_t *routerPtr)
Definition:
router.c:134
router_alloc
router_t * router_alloc(long xCost, long yCost, long zCost, long bendCost)
Definition:
router.c:113
tm.h
router::xCost
long xCost
Definition:
router.h:82
router::bendCost
long bendCost
Definition:
router.h:85
grid.h
router_t
struct router router_t
vector.h
list
Definition:
list.h:93
router_solve_arg::mazePtr
maze_t * mazePtr
Definition:
router.h:90
router_solve_arg_t
struct router_solve_arg router_solve_arg_t
router::zCost
long zCost
Definition:
router.h:84
rstm
rstm-dev
stamp-0.9.10
labyrinth
router.h
Generated on Thu Sep 8 2016 13:28:38 for tlds by
1.8.6