Lines Matching refs:p
10 #define SN1(p) ((p) + 1) argument
11 #define SN2(p) (SN1(p) * SN1((p) + 1) / 2) argument
12 #define SN3(p) (SN2(p) * SN1((p) + 2) / 3) argument
13 #define SI1(p, i) (i) argument
14 #define SI2(p, i, j) ((i) + (SN2(p) - SN2((p) - (j)))) argument
15 #define SI3(p, i, j, k) (SI2((p) - (k), i, j) + (SN3(p) - SN3((p) - (k)))) argument
16 #define SL1(p, i) for ((i) = 1; (i) < (p); ++(i)) argument
17 #define SL2(p, i, j) SL1((p) - 1, i) SL1((p) - (i), j) argument
18 #define SL3(p, i, j, k) SL1((p) - 2, i) SL1((p) - (i), j) SL1((p) - (i) - (j), k) argument
20 #define BN1(p) ((p) + 1) argument
21 #define BN2(p) (BN1(p) * BN1(p)) argument
22 #define BN3(p) (BN2(p) * BN1(p)) argument
23 #define BI1(p, i) (i) argument
24 #define BI2(p, i, j) ((i) + (j) * BN1(p)) argument
25 #define BI3(p, i, j, k) ((i) + BI2(p, j, k) * BN1(p)) argument
26 #define BL1(p, i) for ((i) = 1; (i) < (p); ++(i)) argument
27 #define BL2(p, i, j) BL1(p, i) BL1(p, j) argument
28 #define BL3(p, i, j, k) BL1(p, i) BL1(p, j) BL1(p, k) argument
30 #define GmshNumNodes_VTX(p) (1) argument
31 #define GmshNumNodes_SEG(p) SN1(p) argument
32 #define GmshNumNodes_TRI(p) SN2(p) argument
33 #define GmshNumNodes_QUA(p) BN2(p) argument
34 #define GmshNumNodes_TET(p) SN3(p) argument
35 #define GmshNumNodes_HEX(p) BN3(p) argument
36 #define GmshNumNodes_PRI(p) (SN2(p) * BN1(p)) argument
37 #define GmshNumNodes_PYR(p) (((p) + 1) * ((p) + 2) * (2 * (p) + 3) / 6) argument
41 static inline int GmshLexOrder_VTX(int p, int lex[], int node) in GmshLexOrder_VTX() argument
44 (void)p; in GmshLexOrder_VTX()
48 static inline int GmshLexOrder_SEG(int p, int lex[], int node) in GmshLexOrder_SEG() argument
50 #define loop1(i) SL1(p, i) in GmshLexOrder_SEG()
51 #define index(i) SI1(p, i) in GmshLexOrder_SEG()
54 if (p == 0) lex[0] = node++; in GmshLexOrder_SEG()
55 if (p == 0) return node; in GmshLexOrder_SEG()
58 lex[index(p)] = node++; in GmshLexOrder_SEG()
59 if (p == 1) return node; in GmshLexOrder_SEG()
67 static inline int GmshLexOrder_TRI(int p, int lex[], int node) in GmshLexOrder_TRI() argument
69 #define loop1(i) SL1(p, i) in GmshLexOrder_TRI()
70 #define loop2(i, j) SL2(p, i, j) in GmshLexOrder_TRI()
71 #define index(i, j) SI2(p, i, j) in GmshLexOrder_TRI()
74 if (p == 0) lex[0] = node++; in GmshLexOrder_TRI()
75 if (p == 0) return node; in GmshLexOrder_TRI()
78 lex[index(p, 0)] = node++; in GmshLexOrder_TRI()
79 lex[index(0, p)] = node++; in GmshLexOrder_TRI()
80 if (p == 1) return node; in GmshLexOrder_TRI()
83 loop1(j) lex[index(p - j, j)] = node++; in GmshLexOrder_TRI()
84 loop1(j) lex[index(0, p - j)] = node++; in GmshLexOrder_TRI()
85 if (p == 2) return node; in GmshLexOrder_TRI()
87 node = GmshLexOrder_TRI(p - 3, sub = buf, node); in GmshLexOrder_TRI()
95 static inline int GmshLexOrder_QUA(int p, int lex[], int node) in GmshLexOrder_QUA() argument
97 #define loop1(i) BL1(p, i) in GmshLexOrder_QUA()
98 #define loop2(i, j) BL2(p, i, j) in GmshLexOrder_QUA()
99 #define index(i, j) BI2(p, i, j) in GmshLexOrder_QUA()
102 if (p == 0) lex[0] = node++; in GmshLexOrder_QUA()
103 if (p == 0) return node; in GmshLexOrder_QUA()
106 lex[index(p, 0)] = node++; in GmshLexOrder_QUA()
107 lex[index(p, p)] = node++; in GmshLexOrder_QUA()
108 lex[index(0, p)] = node++; in GmshLexOrder_QUA()
109 if (p == 1) return node; in GmshLexOrder_QUA()
112 loop1(j) lex[index(p, j)] = node++; in GmshLexOrder_QUA()
113 loop1(i) lex[index(p - i, p)] = node++; in GmshLexOrder_QUA()
114 loop1(j) lex[index(0, p - j)] = node++; in GmshLexOrder_QUA()
116 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_QUA()
124 static inline int GmshLexOrder_TET(int p, int lex[], int node) in GmshLexOrder_TET() argument
126 #define loop1(i) SL1(p, i) in GmshLexOrder_TET()
127 #define loop2(i, j) SL2(p, i, j) in GmshLexOrder_TET()
128 #define loop3(i, j, k) SL3(p, i, j, k) in GmshLexOrder_TET()
129 #define index(i, j, k) SI3(p, i, j, k) in GmshLexOrder_TET()
132 if (p == 0) lex[0] = node++; in GmshLexOrder_TET()
133 if (p == 0) return node; in GmshLexOrder_TET()
136 lex[index(p, 0, 0)] = node++; in GmshLexOrder_TET()
137 lex[index(0, p, 0)] = node++; in GmshLexOrder_TET()
138 lex[index(0, 0, p)] = node++; in GmshLexOrder_TET()
139 if (p == 1) return node; in GmshLexOrder_TET()
142 loop1(j) lex[index(p - j, j, 0)] = node++; in GmshLexOrder_TET()
143 loop1(j) lex[index(0, p - j, 0)] = node++; in GmshLexOrder_TET()
144 loop1(k) lex[index(0, 0, p - k)] = node++; in GmshLexOrder_TET()
145 loop1(j) lex[index(0, j, p - j)] = node++; in GmshLexOrder_TET()
146 loop1(i) lex[index(i, 0, p - i)] = node++; in GmshLexOrder_TET()
147 if (p == 2) return node; in GmshLexOrder_TET()
149 node = GmshLexOrder_TRI(p - 3, sub = buf, node); in GmshLexOrder_TET()
151 node = GmshLexOrder_TRI(p - 3, sub = buf, node); in GmshLexOrder_TET()
153 node = GmshLexOrder_TRI(p - 3, sub = buf, node); in GmshLexOrder_TET()
155 node = GmshLexOrder_TRI(p - 3, sub = buf, node); in GmshLexOrder_TET()
156 loop2(j, i) lex[index(i, j, p - i - j)] = *sub++; in GmshLexOrder_TET()
157 if (p == 3) return node; in GmshLexOrder_TET()
159 node = GmshLexOrder_TET(p - 4, sub = buf, node); in GmshLexOrder_TET()
168 static inline int GmshLexOrder_HEX(int p, int lex[], int node) in GmshLexOrder_HEX() argument
170 #define loop1(i) BL1(p, i) in GmshLexOrder_HEX()
171 #define loop2(i, j) BL2(p, i, j) in GmshLexOrder_HEX()
172 #define loop3(i, j, k) BL3(p, i, j, k) in GmshLexOrder_HEX()
173 #define index(i, j, k) BI3(p, i, j, k) in GmshLexOrder_HEX()
176 if (p == 0) lex[0] = node++; in GmshLexOrder_HEX()
177 if (p == 0) return node; in GmshLexOrder_HEX()
180 lex[index(p, 0, 0)] = node++; in GmshLexOrder_HEX()
181 lex[index(p, p, 0)] = node++; in GmshLexOrder_HEX()
182 lex[index(0, p, 0)] = node++; in GmshLexOrder_HEX()
183 lex[index(0, 0, p)] = node++; in GmshLexOrder_HEX()
184 lex[index(p, 0, p)] = node++; in GmshLexOrder_HEX()
185 lex[index(p, p, p)] = node++; in GmshLexOrder_HEX()
186 lex[index(0, p, p)] = node++; in GmshLexOrder_HEX()
187 if (p == 1) return node; in GmshLexOrder_HEX()
192 loop1(j) lex[index(p, j, 0)] = node++; in GmshLexOrder_HEX()
193 loop1(k) lex[index(p, 0, k)] = node++; in GmshLexOrder_HEX()
194 loop1(i) lex[index(p - i, p, 0)] = node++; in GmshLexOrder_HEX()
195 loop1(k) lex[index(p, p, k)] = node++; in GmshLexOrder_HEX()
196 loop1(k) lex[index(0, p, k)] = node++; in GmshLexOrder_HEX()
197 loop1(i) lex[index(i, 0, p)] = node++; in GmshLexOrder_HEX()
198 loop1(j) lex[index(0, j, p)] = node++; in GmshLexOrder_HEX()
199 loop1(j) lex[index(p, j, p)] = node++; in GmshLexOrder_HEX()
200 loop1(i) lex[index(p - i, p, p)] = node++; in GmshLexOrder_HEX()
202 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_HEX()
204 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_HEX()
206 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_HEX()
208 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_HEX()
209 loop2(k, j) lex[index(p, j, k)] = *sub++; in GmshLexOrder_HEX()
210 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_HEX()
211 loop2(k, i) lex[index(p - i, p, k)] = *sub++; in GmshLexOrder_HEX()
212 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_HEX()
213 loop2(j, i) lex[index(i, j, p)] = *sub++; in GmshLexOrder_HEX()
215 node = GmshLexOrder_HEX(p - 2, sub = buf, node); in GmshLexOrder_HEX()
224 static inline int GmshLexOrder_PRI(int p, int lex[], int node) in GmshLexOrder_PRI() argument
226 #define loop1(i) BL1(p, i) in GmshLexOrder_PRI()
227 #define loops(i, j) SL2(p, i, j) in GmshLexOrder_PRI()
228 #define loopb(i, j) BL2(p, i, j) in GmshLexOrder_PRI()
229 #define index(i, j, k) (SI2(p, i, j) + BI1(p, k) * SN2(p)) in GmshLexOrder_PRI()
232 if (p == 0) lex[0] = node++; in GmshLexOrder_PRI()
233 if (p == 0) return node; in GmshLexOrder_PRI()
236 lex[index(p, 0, 0)] = node++; in GmshLexOrder_PRI()
237 lex[index(0, p, 0)] = node++; in GmshLexOrder_PRI()
238 lex[index(0, 0, p)] = node++; in GmshLexOrder_PRI()
239 lex[index(p, 0, p)] = node++; in GmshLexOrder_PRI()
240 lex[index(0, p, p)] = node++; in GmshLexOrder_PRI()
241 if (p == 1) return node; in GmshLexOrder_PRI()
246 loop1(j) lex[index(p - j, j, 0)] = node++; in GmshLexOrder_PRI()
247 loop1(k) lex[index(p, 0, k)] = node++; in GmshLexOrder_PRI()
248 loop1(k) lex[index(0, p, k)] = node++; in GmshLexOrder_PRI()
249 loop1(i) lex[index(i, 0, p)] = node++; in GmshLexOrder_PRI()
250 loop1(j) lex[index(0, j, p)] = node++; in GmshLexOrder_PRI()
251 loop1(j) lex[index(p - j, j, p)] = node++; in GmshLexOrder_PRI()
252 if (p >= 3) { in GmshLexOrder_PRI()
254 node = GmshLexOrder_TRI(p - 3, sub = buf, node); in GmshLexOrder_PRI()
257 node = GmshLexOrder_TRI(p - 3, sub = buf, node); in GmshLexOrder_PRI()
258 loops(j, i) lex[index(i, j, p)] = *sub++; in GmshLexOrder_PRI()
260 if (p >= 2) { in GmshLexOrder_PRI()
262 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_PRI()
265 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_PRI()
268 node = GmshLexOrder_QUA(p - 2, sub = buf, node); in GmshLexOrder_PRI()
269 loopb(k, j) lex[index(p - j, j, k)] = *sub++; in GmshLexOrder_PRI()
271 if (p >= 3) { in GmshLexOrder_PRI()
277 int m = GmshLexOrder_TRI(p - 3, sub = buf, 0), l = 0; in GmshLexOrder_PRI()
288 node = GmshLexOrder_SEG(p - 2, sub = buf, node); in GmshLexOrder_PRI()
299 static inline int GmshLexOrder_PYR(int p, int lex[], int node) in GmshLexOrder_PYR() argument
301 int i, m = GmshNumNodes_PYR(p); in GmshLexOrder_PYR()