tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
defs.h
Go to the documentation of this file.
1 /* =============================================================================
2  *
3  * defs.h
4  *
5  * =============================================================================
6  *
7  * For the license of bayes/sort.h and bayes/sort.c, please see the header
8  * of the files.
9  *
10  * ------------------------------------------------------------------------
11  *
12  * For the license of kmeans, please see kmeans/LICENSE.kmeans
13  *
14  * ------------------------------------------------------------------------
15  *
16  * For the license of ssca2, please see ssca2/COPYRIGHT
17  *
18  * ------------------------------------------------------------------------
19  *
20  * For the license of lib/mt19937ar.c and lib/mt19937ar.h, please see the
21  * header of the files.
22  *
23  * ------------------------------------------------------------------------
24  *
25  * For the license of lib/rbtree.h and lib/rbtree.c, please see
26  * lib/LEGALNOTICE.rbtree and lib/LICENSE.rbtree
27  *
28  * ------------------------------------------------------------------------
29  *
30  * Unless otherwise noted, the following license applies to STAMP files:
31  *
32  * Copyright (c) 2007, Stanford University
33  * All rights reserved.
34  *
35  * Redistribution and use in source and binary forms, with or without
36  * modification, are permitted provided that the following conditions are
37  * met:
38  *
39  * * Redistributions of source code must retain the above copyright
40  * notice, this list of conditions and the following disclaimer.
41  *
42  * * Redistributions in binary form must reproduce the above copyright
43  * notice, this list of conditions and the following disclaimer in
44  * the documentation and/or other materials provided with the
45  * distribution.
46  *
47  * * Neither the name of Stanford University nor the names of its
48  * contributors may be used to endorse or promote products derived
49  * from this software without specific prior written permission.
50  *
51  * THIS SOFTWARE IS PROVIDED BY STANFORD UNIVERSITY ``AS IS'' AND ANY
52  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
53  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
54  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL STANFORD UNIVERSITY BE LIABLE
55  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
56  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
57  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
58  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
59  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
60  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
61  * THE POSSIBILITY OF SUCH DAMAGE.
62  *
63  * =============================================================================
64  */
65 
66 
67 #ifndef DEFS_H
68 #define DEFS_H 1
69 
70 typedef unsigned long int ULONGINT_T;
71 typedef long int LONGINT_T;
72 typedef short int SHORTINT_T;
73 
74 #define CACHELOG 7
75 #define NOSHARE(x) ((x)<<CACHELOG)
76 
77 
78 typedef struct
79 {
82 
84 
85  /* The idea is to store the index of the string weights (as a negative value)
86  * in the long Weight array. A negative value because we need to sort on
87  * the intWeights in Kernel 2. Hence the long long
88  */
89 
90  char* strWeight;
92 
93 } graphSDG;
94 
95 typedef struct /*the graph data structure*/
96 {
99 
102 
105 
110 
114 
116  char* strWeight;
117 
118 } graph;
119 
120 typedef struct /* edge structure for Kernel 2 */
121 {
125 } edge;
126 
127 typedef struct /* Vertex list returned by Kernel 3 */
128 {
130  long depth;
131 } V;
132 
133 typedef struct l /* A Linked list for Kernel 3 */
134 {
137  struct l* next;
138 } Vl;
139 
140 typedef struct /* A dynamic array for Kernel 3 */
141 {
144  V** vList;
145 } Vd;
146 
147 
148 #endif /* DEFS_H */
149 
150 
151 /* =============================================================================
152  *
153  * End of defs.h
154  *
155  * =============================================================================
156  */
ULONGINT_T num
Definition: defs.h:135
ULONGINT_T * arraySize
Definition: defs.h:143
long int LONGINT_T
Definition: defs.h:71
long depth
Definition: defs.h:130
LONGINT_T * inDegree
Definition: defs.h:111
short int SHORTINT_T
Definition: defs.h:72
ULONGINT_T numEdgesPlaced
Definition: defs.h:91
V ** vList
Definition: defs.h:144
ULONGINT_T numStrEdges
Definition: defs.h:104
ULONGINT_T endVertex
Definition: defs.h:123
ULONGINT_T edgeNum
Definition: defs.h:124
ULONGINT_T numDirectedEdges
Definition: defs.h:100
Definition: defs.h:133
ULONGINT_T * paralEdgeIndex
Definition: defs.h:109
ULONGINT_T * inVertexIndex
Definition: defs.h:112
ULONGINT_T numIntEdges
Definition: defs.h:103
ULONGINT_T numArrays
Definition: defs.h:142
struct l Vl
ULONGINT_T numVertices
Definition: defs.h:97
ULONGINT_T numUndirectedEdges
Definition: defs.h:101
ULONGINT_T numEdges
Definition: defs.h:98
Definition: defs.h:127
unsigned long int ULONGINT_T
Definition: defs.h:70
Definition: edge.hpp:36
ULONGINT_T * startVertex
Definition: defs.h:80
Definition: defs.h:78
ULONGINT_T startVertex
Definition: defs.h:122
Definition: defs.h:95
struct l * next
Definition: defs.h:137
char * strWeight
Definition: defs.h:90
ULONGINT_T * outVertexIndex
Definition: defs.h:107
SHORTINT_T depth
Definition: defs.h:136
ULONGINT_T * endVertex
Definition: defs.h:81
ULONGINT_T * inVertexList
Definition: defs.h:113
char * strWeight
Definition: defs.h:116
ULONGINT_T * outVertexList
Definition: defs.h:108
LONGINT_T * intWeight
Definition: defs.h:115
LONGINT_T * outDegree
Definition: defs.h:106
ULONGINT_T num
Definition: defs.h:129
Definition: defs.h:140
LONGINT_T * intWeight
Definition: defs.h:83