1 | // THIS IS GENERATED CODE |
2 | /** |
3 | Convenient type operations. |
4 | |
5 | Any types representing values must be able to be expressed as `ident`s. That means they need to be |
6 | in scope. |
7 | |
8 | For example, `P5` is okay, but `typenum::P5` is not. |
9 | |
10 | You may combine operators arbitrarily, although doing so excessively may require raising the |
11 | recursion limit. |
12 | |
13 | # Example |
14 | ```rust |
15 | #![recursion_limit="128" ] |
16 | #[macro_use] extern crate typenum; |
17 | use typenum::consts::*; |
18 | |
19 | fn main() { |
20 | assert_type!( |
21 | op!(min((P1 - P2) * (N3 + N7), P5 * (P3 + P4)) == P10) |
22 | ); |
23 | } |
24 | ``` |
25 | Operators are evaluated based on the operator precedence outlined |
26 | [here](https://doc.rust-lang.org/reference.html#operator-precedence). |
27 | |
28 | The full list of supported operators and functions is as follows: |
29 | |
30 | `*`, `/`, `%`, `+`, `-`, `<<`, `>>`, `&`, `^`, `|`, `==`, `!=`, `<=`, `>=`, `<`, `>`, `cmp`, `sqr`, `sqrt`, `abs`, `cube`, `pow`, `min`, `max`, `log2`, `gcd` |
31 | |
32 | They all expand to type aliases defined in the `operator_aliases` module. Here is an expanded list, |
33 | including examples: |
34 | |
35 | --- |
36 | Operator `*`. Expands to `Prod`. |
37 | |
38 | ```rust |
39 | # #[macro_use ] extern crate typenum; |
40 | # use typenum::*; |
41 | # fn main() { |
42 | assert_type_eq!(op!(P2 * P3), P6); |
43 | # } |
44 | ``` |
45 | |
46 | --- |
47 | Operator `/`. Expands to `Quot`. |
48 | |
49 | ```rust |
50 | # #[macro_use ] extern crate typenum; |
51 | # use typenum::*; |
52 | # fn main() { |
53 | assert_type_eq!(op!(P6 / P2), P3); |
54 | # } |
55 | ``` |
56 | |
57 | --- |
58 | Operator `%`. Expands to `Mod`. |
59 | |
60 | ```rust |
61 | # #[macro_use ] extern crate typenum; |
62 | # use typenum::*; |
63 | # fn main() { |
64 | assert_type_eq!(op!(P5 % P3), P2); |
65 | # } |
66 | ``` |
67 | |
68 | --- |
69 | Operator `+`. Expands to `Sum`. |
70 | |
71 | ```rust |
72 | # #[macro_use ] extern crate typenum; |
73 | # use typenum::*; |
74 | # fn main() { |
75 | assert_type_eq!(op!(P2 + P3), P5); |
76 | # } |
77 | ``` |
78 | |
79 | --- |
80 | Operator `-`. Expands to `Diff`. |
81 | |
82 | ```rust |
83 | # #[macro_use ] extern crate typenum; |
84 | # use typenum::*; |
85 | # fn main() { |
86 | assert_type_eq!(op!(P2 - P3), N1); |
87 | # } |
88 | ``` |
89 | |
90 | --- |
91 | Operator `<<`. Expands to `Shleft`. |
92 | |
93 | ```rust |
94 | # #[macro_use ] extern crate typenum; |
95 | # use typenum::*; |
96 | # fn main() { |
97 | assert_type_eq!(op!(U1 << U5), U32); |
98 | # } |
99 | ``` |
100 | |
101 | --- |
102 | Operator `>>`. Expands to `Shright`. |
103 | |
104 | ```rust |
105 | # #[macro_use ] extern crate typenum; |
106 | # use typenum::*; |
107 | # fn main() { |
108 | assert_type_eq!(op!(U32 >> U5), U1); |
109 | # } |
110 | ``` |
111 | |
112 | --- |
113 | Operator `&`. Expands to `And`. |
114 | |
115 | ```rust |
116 | # #[macro_use ] extern crate typenum; |
117 | # use typenum::*; |
118 | # fn main() { |
119 | assert_type_eq!(op!(U5 & U3), U1); |
120 | # } |
121 | ``` |
122 | |
123 | --- |
124 | Operator `^`. Expands to `Xor`. |
125 | |
126 | ```rust |
127 | # #[macro_use ] extern crate typenum; |
128 | # use typenum::*; |
129 | # fn main() { |
130 | assert_type_eq!(op!(U5 ^ U3), U6); |
131 | # } |
132 | ``` |
133 | |
134 | --- |
135 | Operator `|`. Expands to `Or`. |
136 | |
137 | ```rust |
138 | # #[macro_use ] extern crate typenum; |
139 | # use typenum::*; |
140 | # fn main() { |
141 | assert_type_eq!(op!(U5 | U3), U7); |
142 | # } |
143 | ``` |
144 | |
145 | --- |
146 | Operator `==`. Expands to `Eq`. |
147 | |
148 | ```rust |
149 | # #[macro_use ] extern crate typenum; |
150 | # use typenum::*; |
151 | # fn main() { |
152 | assert_type_eq!(op!(P5 == P3 + P2), True); |
153 | # } |
154 | ``` |
155 | |
156 | --- |
157 | Operator `!=`. Expands to `NotEq`. |
158 | |
159 | ```rust |
160 | # #[macro_use ] extern crate typenum; |
161 | # use typenum::*; |
162 | # fn main() { |
163 | assert_type_eq!(op!(P5 != P3 + P2), False); |
164 | # } |
165 | ``` |
166 | |
167 | --- |
168 | Operator `<=`. Expands to `LeEq`. |
169 | |
170 | ```rust |
171 | # #[macro_use ] extern crate typenum; |
172 | # use typenum::*; |
173 | # fn main() { |
174 | assert_type_eq!(op!(P6 <= P3 + P2), False); |
175 | # } |
176 | ``` |
177 | |
178 | --- |
179 | Operator `>=`. Expands to `GrEq`. |
180 | |
181 | ```rust |
182 | # #[macro_use ] extern crate typenum; |
183 | # use typenum::*; |
184 | # fn main() { |
185 | assert_type_eq!(op!(P6 >= P3 + P2), True); |
186 | # } |
187 | ``` |
188 | |
189 | --- |
190 | Operator `<`. Expands to `Le`. |
191 | |
192 | ```rust |
193 | # #[macro_use ] extern crate typenum; |
194 | # use typenum::*; |
195 | # fn main() { |
196 | assert_type_eq!(op!(P4 < P3 + P2), True); |
197 | # } |
198 | ``` |
199 | |
200 | --- |
201 | Operator `>`. Expands to `Gr`. |
202 | |
203 | ```rust |
204 | # #[macro_use ] extern crate typenum; |
205 | # use typenum::*; |
206 | # fn main() { |
207 | assert_type_eq!(op!(P5 < P3 + P2), False); |
208 | # } |
209 | ``` |
210 | |
211 | --- |
212 | Operator `cmp`. Expands to `Compare`. |
213 | |
214 | ```rust |
215 | # #[macro_use ] extern crate typenum; |
216 | # use typenum::*; |
217 | # fn main() { |
218 | assert_type_eq!(op!(cmp(P2, P3)), Less); |
219 | # } |
220 | ``` |
221 | |
222 | --- |
223 | Operator `sqr`. Expands to `Square`. |
224 | |
225 | ```rust |
226 | # #[macro_use ] extern crate typenum; |
227 | # use typenum::*; |
228 | # fn main() { |
229 | assert_type_eq!(op!(sqr(P2)), P4); |
230 | # } |
231 | ``` |
232 | |
233 | --- |
234 | Operator `sqrt`. Expands to `Sqrt`. |
235 | |
236 | ```rust |
237 | # #[macro_use ] extern crate typenum; |
238 | # use typenum::*; |
239 | # fn main() { |
240 | assert_type_eq!(op!(sqrt(U9)), U3); |
241 | # } |
242 | ``` |
243 | |
244 | --- |
245 | Operator `abs`. Expands to `AbsVal`. |
246 | |
247 | ```rust |
248 | # #[macro_use ] extern crate typenum; |
249 | # use typenum::*; |
250 | # fn main() { |
251 | assert_type_eq!(op!(abs(N2)), P2); |
252 | # } |
253 | ``` |
254 | |
255 | --- |
256 | Operator `cube`. Expands to `Cube`. |
257 | |
258 | ```rust |
259 | # #[macro_use ] extern crate typenum; |
260 | # use typenum::*; |
261 | # fn main() { |
262 | assert_type_eq!(op!(cube(P2)), P8); |
263 | # } |
264 | ``` |
265 | |
266 | --- |
267 | Operator `pow`. Expands to `Exp`. |
268 | |
269 | ```rust |
270 | # #[macro_use ] extern crate typenum; |
271 | # use typenum::*; |
272 | # fn main() { |
273 | assert_type_eq!(op!(pow(P2, P3)), P8); |
274 | # } |
275 | ``` |
276 | |
277 | --- |
278 | Operator `min`. Expands to `Minimum`. |
279 | |
280 | ```rust |
281 | # #[macro_use ] extern crate typenum; |
282 | # use typenum::*; |
283 | # fn main() { |
284 | assert_type_eq!(op!(min(P2, P3)), P2); |
285 | # } |
286 | ``` |
287 | |
288 | --- |
289 | Operator `max`. Expands to `Maximum`. |
290 | |
291 | ```rust |
292 | # #[macro_use ] extern crate typenum; |
293 | # use typenum::*; |
294 | # fn main() { |
295 | assert_type_eq!(op!(max(P2, P3)), P3); |
296 | # } |
297 | ``` |
298 | |
299 | --- |
300 | Operator `log2`. Expands to `Log2`. |
301 | |
302 | ```rust |
303 | # #[macro_use ] extern crate typenum; |
304 | # use typenum::*; |
305 | # fn main() { |
306 | assert_type_eq!(op!(log2(U9)), U3); |
307 | # } |
308 | ``` |
309 | |
310 | --- |
311 | Operator `gcd`. Expands to `Gcf`. |
312 | |
313 | ```rust |
314 | # #[macro_use ] extern crate typenum; |
315 | # use typenum::*; |
316 | # fn main() { |
317 | assert_type_eq!(op!(gcd(U9, U21)), U3); |
318 | # } |
319 | ``` |
320 | |
321 | */ |
322 | #[macro_export (local_inner_macros)] |
323 | macro_rules! op { |
324 | ($($tail:tt)*) => ( __op_internal__!($($tail)*) ); |
325 | } |
326 | |
327 | #[doc (hidden)] |
328 | #[macro_export (local_inner_macros)] |
329 | macro_rules! __op_internal__ { |
330 | |
331 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: cmp $($tail:tt)*) => ( |
332 | __op_internal__!(@stack[Compare, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
333 | ); |
334 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: sqr $($tail:tt)*) => ( |
335 | __op_internal__!(@stack[Square, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
336 | ); |
337 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: sqrt $($tail:tt)*) => ( |
338 | __op_internal__!(@stack[Sqrt, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
339 | ); |
340 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: abs $($tail:tt)*) => ( |
341 | __op_internal__!(@stack[AbsVal, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
342 | ); |
343 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: cube $($tail:tt)*) => ( |
344 | __op_internal__!(@stack[Cube, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
345 | ); |
346 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: pow $($tail:tt)*) => ( |
347 | __op_internal__!(@stack[Exp, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
348 | ); |
349 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: min $($tail:tt)*) => ( |
350 | __op_internal__!(@stack[Minimum, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
351 | ); |
352 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: max $($tail:tt)*) => ( |
353 | __op_internal__!(@stack[Maximum, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
354 | ); |
355 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: log2 $($tail:tt)*) => ( |
356 | __op_internal__!(@stack[Log2, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
357 | ); |
358 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: gcd $($tail:tt)*) => ( |
359 | __op_internal__!(@stack[Gcf, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
360 | ); |
361 | (@stack[LParen, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: , $($tail:tt)*) => ( |
362 | __op_internal__!(@stack[LParen, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
363 | ); |
364 | (@stack[$stack_top:ident, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: , $($tail:tt)*) => ( |
365 | __op_internal__!(@stack[$($stack,)*] @queue[$stack_top, $($queue,)*] @tail: , $($tail)*) |
366 | ); |
367 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: * $($tail:tt)*) => ( |
368 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: * $($tail)*) |
369 | ); |
370 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: * $($tail:tt)*) => ( |
371 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: * $($tail)*) |
372 | ); |
373 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: * $($tail:tt)*) => ( |
374 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: * $($tail)*) |
375 | ); |
376 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: * $($tail:tt)*) => ( |
377 | __op_internal__!(@stack[Prod, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
378 | ); |
379 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: / $($tail:tt)*) => ( |
380 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: / $($tail)*) |
381 | ); |
382 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: / $($tail:tt)*) => ( |
383 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: / $($tail)*) |
384 | ); |
385 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: / $($tail:tt)*) => ( |
386 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: / $($tail)*) |
387 | ); |
388 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: / $($tail:tt)*) => ( |
389 | __op_internal__!(@stack[Quot, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
390 | ); |
391 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: % $($tail:tt)*) => ( |
392 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: % $($tail)*) |
393 | ); |
394 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: % $($tail:tt)*) => ( |
395 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: % $($tail)*) |
396 | ); |
397 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: % $($tail:tt)*) => ( |
398 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: % $($tail)*) |
399 | ); |
400 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: % $($tail:tt)*) => ( |
401 | __op_internal__!(@stack[Mod, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
402 | ); |
403 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: + $($tail:tt)*) => ( |
404 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: + $($tail)*) |
405 | ); |
406 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: + $($tail:tt)*) => ( |
407 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: + $($tail)*) |
408 | ); |
409 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: + $($tail:tt)*) => ( |
410 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: + $($tail)*) |
411 | ); |
412 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: + $($tail:tt)*) => ( |
413 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: + $($tail)*) |
414 | ); |
415 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: + $($tail:tt)*) => ( |
416 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: + $($tail)*) |
417 | ); |
418 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: + $($tail:tt)*) => ( |
419 | __op_internal__!(@stack[Sum, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
420 | ); |
421 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: - $($tail:tt)*) => ( |
422 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: - $($tail)*) |
423 | ); |
424 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: - $($tail:tt)*) => ( |
425 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: - $($tail)*) |
426 | ); |
427 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: - $($tail:tt)*) => ( |
428 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: - $($tail)*) |
429 | ); |
430 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: - $($tail:tt)*) => ( |
431 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: - $($tail)*) |
432 | ); |
433 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: - $($tail:tt)*) => ( |
434 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: - $($tail)*) |
435 | ); |
436 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: - $($tail:tt)*) => ( |
437 | __op_internal__!(@stack[Diff, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
438 | ); |
439 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: << $($tail:tt)*) => ( |
440 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: << $($tail)*) |
441 | ); |
442 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: << $($tail:tt)*) => ( |
443 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: << $($tail)*) |
444 | ); |
445 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: << $($tail:tt)*) => ( |
446 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: << $($tail)*) |
447 | ); |
448 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: << $($tail:tt)*) => ( |
449 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: << $($tail)*) |
450 | ); |
451 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: << $($tail:tt)*) => ( |
452 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: << $($tail)*) |
453 | ); |
454 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: << $($tail:tt)*) => ( |
455 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: << $($tail)*) |
456 | ); |
457 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: << $($tail:tt)*) => ( |
458 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: << $($tail)*) |
459 | ); |
460 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: << $($tail:tt)*) => ( |
461 | __op_internal__!(@stack[Shleft, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
462 | ); |
463 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >> $($tail:tt)*) => ( |
464 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: >> $($tail)*) |
465 | ); |
466 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >> $($tail:tt)*) => ( |
467 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: >> $($tail)*) |
468 | ); |
469 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >> $($tail:tt)*) => ( |
470 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: >> $($tail)*) |
471 | ); |
472 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >> $($tail:tt)*) => ( |
473 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: >> $($tail)*) |
474 | ); |
475 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >> $($tail:tt)*) => ( |
476 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: >> $($tail)*) |
477 | ); |
478 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >> $($tail:tt)*) => ( |
479 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: >> $($tail)*) |
480 | ); |
481 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >> $($tail:tt)*) => ( |
482 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: >> $($tail)*) |
483 | ); |
484 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >> $($tail:tt)*) => ( |
485 | __op_internal__!(@stack[Shright, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
486 | ); |
487 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
488 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: & $($tail)*) |
489 | ); |
490 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
491 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: & $($tail)*) |
492 | ); |
493 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
494 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: & $($tail)*) |
495 | ); |
496 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
497 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: & $($tail)*) |
498 | ); |
499 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
500 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: & $($tail)*) |
501 | ); |
502 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
503 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: & $($tail)*) |
504 | ); |
505 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
506 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: & $($tail)*) |
507 | ); |
508 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
509 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: & $($tail)*) |
510 | ); |
511 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: & $($tail:tt)*) => ( |
512 | __op_internal__!(@stack[And, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
513 | ); |
514 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
515 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: ^ $($tail)*) |
516 | ); |
517 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
518 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: ^ $($tail)*) |
519 | ); |
520 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
521 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: ^ $($tail)*) |
522 | ); |
523 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
524 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: ^ $($tail)*) |
525 | ); |
526 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
527 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: ^ $($tail)*) |
528 | ); |
529 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
530 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: ^ $($tail)*) |
531 | ); |
532 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
533 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: ^ $($tail)*) |
534 | ); |
535 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
536 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: ^ $($tail)*) |
537 | ); |
538 | (@stack[Xor, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
539 | __op_internal__!(@stack[$($stack,)*] @queue[Xor, $($queue,)*] @tail: ^ $($tail)*) |
540 | ); |
541 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ^ $($tail:tt)*) => ( |
542 | __op_internal__!(@stack[Xor, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
543 | ); |
544 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
545 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: | $($tail)*) |
546 | ); |
547 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
548 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: | $($tail)*) |
549 | ); |
550 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
551 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: | $($tail)*) |
552 | ); |
553 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
554 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: | $($tail)*) |
555 | ); |
556 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
557 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: | $($tail)*) |
558 | ); |
559 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
560 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: | $($tail)*) |
561 | ); |
562 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
563 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: | $($tail)*) |
564 | ); |
565 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
566 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: | $($tail)*) |
567 | ); |
568 | (@stack[Xor, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
569 | __op_internal__!(@stack[$($stack,)*] @queue[Xor, $($queue,)*] @tail: | $($tail)*) |
570 | ); |
571 | (@stack[Or, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
572 | __op_internal__!(@stack[$($stack,)*] @queue[Or, $($queue,)*] @tail: | $($tail)*) |
573 | ); |
574 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: | $($tail:tt)*) => ( |
575 | __op_internal__!(@stack[Or, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
576 | ); |
577 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
578 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: == $($tail)*) |
579 | ); |
580 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
581 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: == $($tail)*) |
582 | ); |
583 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
584 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: == $($tail)*) |
585 | ); |
586 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
587 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: == $($tail)*) |
588 | ); |
589 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
590 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: == $($tail)*) |
591 | ); |
592 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
593 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: == $($tail)*) |
594 | ); |
595 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
596 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: == $($tail)*) |
597 | ); |
598 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
599 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: == $($tail)*) |
600 | ); |
601 | (@stack[Xor, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
602 | __op_internal__!(@stack[$($stack,)*] @queue[Xor, $($queue,)*] @tail: == $($tail)*) |
603 | ); |
604 | (@stack[Or, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
605 | __op_internal__!(@stack[$($stack,)*] @queue[Or, $($queue,)*] @tail: == $($tail)*) |
606 | ); |
607 | (@stack[Eq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
608 | __op_internal__!(@stack[$($stack,)*] @queue[Eq, $($queue,)*] @tail: == $($tail)*) |
609 | ); |
610 | (@stack[NotEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
611 | __op_internal__!(@stack[$($stack,)*] @queue[NotEq, $($queue,)*] @tail: == $($tail)*) |
612 | ); |
613 | (@stack[LeEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
614 | __op_internal__!(@stack[$($stack,)*] @queue[LeEq, $($queue,)*] @tail: == $($tail)*) |
615 | ); |
616 | (@stack[GrEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
617 | __op_internal__!(@stack[$($stack,)*] @queue[GrEq, $($queue,)*] @tail: == $($tail)*) |
618 | ); |
619 | (@stack[Le, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
620 | __op_internal__!(@stack[$($stack,)*] @queue[Le, $($queue,)*] @tail: == $($tail)*) |
621 | ); |
622 | (@stack[Gr, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
623 | __op_internal__!(@stack[$($stack,)*] @queue[Gr, $($queue,)*] @tail: == $($tail)*) |
624 | ); |
625 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: == $($tail:tt)*) => ( |
626 | __op_internal__!(@stack[Eq, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
627 | ); |
628 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
629 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: != $($tail)*) |
630 | ); |
631 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
632 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: != $($tail)*) |
633 | ); |
634 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
635 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: != $($tail)*) |
636 | ); |
637 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
638 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: != $($tail)*) |
639 | ); |
640 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
641 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: != $($tail)*) |
642 | ); |
643 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
644 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: != $($tail)*) |
645 | ); |
646 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
647 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: != $($tail)*) |
648 | ); |
649 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
650 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: != $($tail)*) |
651 | ); |
652 | (@stack[Xor, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
653 | __op_internal__!(@stack[$($stack,)*] @queue[Xor, $($queue,)*] @tail: != $($tail)*) |
654 | ); |
655 | (@stack[Or, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
656 | __op_internal__!(@stack[$($stack,)*] @queue[Or, $($queue,)*] @tail: != $($tail)*) |
657 | ); |
658 | (@stack[Eq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
659 | __op_internal__!(@stack[$($stack,)*] @queue[Eq, $($queue,)*] @tail: != $($tail)*) |
660 | ); |
661 | (@stack[NotEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
662 | __op_internal__!(@stack[$($stack,)*] @queue[NotEq, $($queue,)*] @tail: != $($tail)*) |
663 | ); |
664 | (@stack[LeEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
665 | __op_internal__!(@stack[$($stack,)*] @queue[LeEq, $($queue,)*] @tail: != $($tail)*) |
666 | ); |
667 | (@stack[GrEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
668 | __op_internal__!(@stack[$($stack,)*] @queue[GrEq, $($queue,)*] @tail: != $($tail)*) |
669 | ); |
670 | (@stack[Le, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
671 | __op_internal__!(@stack[$($stack,)*] @queue[Le, $($queue,)*] @tail: != $($tail)*) |
672 | ); |
673 | (@stack[Gr, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
674 | __op_internal__!(@stack[$($stack,)*] @queue[Gr, $($queue,)*] @tail: != $($tail)*) |
675 | ); |
676 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: != $($tail:tt)*) => ( |
677 | __op_internal__!(@stack[NotEq, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
678 | ); |
679 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
680 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: <= $($tail)*) |
681 | ); |
682 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
683 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: <= $($tail)*) |
684 | ); |
685 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
686 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: <= $($tail)*) |
687 | ); |
688 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
689 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: <= $($tail)*) |
690 | ); |
691 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
692 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: <= $($tail)*) |
693 | ); |
694 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
695 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: <= $($tail)*) |
696 | ); |
697 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
698 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: <= $($tail)*) |
699 | ); |
700 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
701 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: <= $($tail)*) |
702 | ); |
703 | (@stack[Xor, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
704 | __op_internal__!(@stack[$($stack,)*] @queue[Xor, $($queue,)*] @tail: <= $($tail)*) |
705 | ); |
706 | (@stack[Or, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
707 | __op_internal__!(@stack[$($stack,)*] @queue[Or, $($queue,)*] @tail: <= $($tail)*) |
708 | ); |
709 | (@stack[Eq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
710 | __op_internal__!(@stack[$($stack,)*] @queue[Eq, $($queue,)*] @tail: <= $($tail)*) |
711 | ); |
712 | (@stack[NotEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
713 | __op_internal__!(@stack[$($stack,)*] @queue[NotEq, $($queue,)*] @tail: <= $($tail)*) |
714 | ); |
715 | (@stack[LeEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
716 | __op_internal__!(@stack[$($stack,)*] @queue[LeEq, $($queue,)*] @tail: <= $($tail)*) |
717 | ); |
718 | (@stack[GrEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
719 | __op_internal__!(@stack[$($stack,)*] @queue[GrEq, $($queue,)*] @tail: <= $($tail)*) |
720 | ); |
721 | (@stack[Le, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
722 | __op_internal__!(@stack[$($stack,)*] @queue[Le, $($queue,)*] @tail: <= $($tail)*) |
723 | ); |
724 | (@stack[Gr, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
725 | __op_internal__!(@stack[$($stack,)*] @queue[Gr, $($queue,)*] @tail: <= $($tail)*) |
726 | ); |
727 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: <= $($tail:tt)*) => ( |
728 | __op_internal__!(@stack[LeEq, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
729 | ); |
730 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
731 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: >= $($tail)*) |
732 | ); |
733 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
734 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: >= $($tail)*) |
735 | ); |
736 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
737 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: >= $($tail)*) |
738 | ); |
739 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
740 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: >= $($tail)*) |
741 | ); |
742 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
743 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: >= $($tail)*) |
744 | ); |
745 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
746 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: >= $($tail)*) |
747 | ); |
748 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
749 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: >= $($tail)*) |
750 | ); |
751 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
752 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: >= $($tail)*) |
753 | ); |
754 | (@stack[Xor, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
755 | __op_internal__!(@stack[$($stack,)*] @queue[Xor, $($queue,)*] @tail: >= $($tail)*) |
756 | ); |
757 | (@stack[Or, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
758 | __op_internal__!(@stack[$($stack,)*] @queue[Or, $($queue,)*] @tail: >= $($tail)*) |
759 | ); |
760 | (@stack[Eq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
761 | __op_internal__!(@stack[$($stack,)*] @queue[Eq, $($queue,)*] @tail: >= $($tail)*) |
762 | ); |
763 | (@stack[NotEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
764 | __op_internal__!(@stack[$($stack,)*] @queue[NotEq, $($queue,)*] @tail: >= $($tail)*) |
765 | ); |
766 | (@stack[LeEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
767 | __op_internal__!(@stack[$($stack,)*] @queue[LeEq, $($queue,)*] @tail: >= $($tail)*) |
768 | ); |
769 | (@stack[GrEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
770 | __op_internal__!(@stack[$($stack,)*] @queue[GrEq, $($queue,)*] @tail: >= $($tail)*) |
771 | ); |
772 | (@stack[Le, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
773 | __op_internal__!(@stack[$($stack,)*] @queue[Le, $($queue,)*] @tail: >= $($tail)*) |
774 | ); |
775 | (@stack[Gr, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
776 | __op_internal__!(@stack[$($stack,)*] @queue[Gr, $($queue,)*] @tail: >= $($tail)*) |
777 | ); |
778 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: >= $($tail:tt)*) => ( |
779 | __op_internal__!(@stack[GrEq, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
780 | ); |
781 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
782 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: < $($tail)*) |
783 | ); |
784 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
785 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: < $($tail)*) |
786 | ); |
787 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
788 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: < $($tail)*) |
789 | ); |
790 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
791 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: < $($tail)*) |
792 | ); |
793 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
794 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: < $($tail)*) |
795 | ); |
796 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
797 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: < $($tail)*) |
798 | ); |
799 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
800 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: < $($tail)*) |
801 | ); |
802 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
803 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: < $($tail)*) |
804 | ); |
805 | (@stack[Xor, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
806 | __op_internal__!(@stack[$($stack,)*] @queue[Xor, $($queue,)*] @tail: < $($tail)*) |
807 | ); |
808 | (@stack[Or, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
809 | __op_internal__!(@stack[$($stack,)*] @queue[Or, $($queue,)*] @tail: < $($tail)*) |
810 | ); |
811 | (@stack[Eq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
812 | __op_internal__!(@stack[$($stack,)*] @queue[Eq, $($queue,)*] @tail: < $($tail)*) |
813 | ); |
814 | (@stack[NotEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
815 | __op_internal__!(@stack[$($stack,)*] @queue[NotEq, $($queue,)*] @tail: < $($tail)*) |
816 | ); |
817 | (@stack[LeEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
818 | __op_internal__!(@stack[$($stack,)*] @queue[LeEq, $($queue,)*] @tail: < $($tail)*) |
819 | ); |
820 | (@stack[GrEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
821 | __op_internal__!(@stack[$($stack,)*] @queue[GrEq, $($queue,)*] @tail: < $($tail)*) |
822 | ); |
823 | (@stack[Le, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
824 | __op_internal__!(@stack[$($stack,)*] @queue[Le, $($queue,)*] @tail: < $($tail)*) |
825 | ); |
826 | (@stack[Gr, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
827 | __op_internal__!(@stack[$($stack,)*] @queue[Gr, $($queue,)*] @tail: < $($tail)*) |
828 | ); |
829 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: < $($tail:tt)*) => ( |
830 | __op_internal__!(@stack[Le, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
831 | ); |
832 | (@stack[Prod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
833 | __op_internal__!(@stack[$($stack,)*] @queue[Prod, $($queue,)*] @tail: > $($tail)*) |
834 | ); |
835 | (@stack[Quot, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
836 | __op_internal__!(@stack[$($stack,)*] @queue[Quot, $($queue,)*] @tail: > $($tail)*) |
837 | ); |
838 | (@stack[Mod, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
839 | __op_internal__!(@stack[$($stack,)*] @queue[Mod, $($queue,)*] @tail: > $($tail)*) |
840 | ); |
841 | (@stack[Sum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
842 | __op_internal__!(@stack[$($stack,)*] @queue[Sum, $($queue,)*] @tail: > $($tail)*) |
843 | ); |
844 | (@stack[Diff, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
845 | __op_internal__!(@stack[$($stack,)*] @queue[Diff, $($queue,)*] @tail: > $($tail)*) |
846 | ); |
847 | (@stack[Shleft, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
848 | __op_internal__!(@stack[$($stack,)*] @queue[Shleft, $($queue,)*] @tail: > $($tail)*) |
849 | ); |
850 | (@stack[Shright, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
851 | __op_internal__!(@stack[$($stack,)*] @queue[Shright, $($queue,)*] @tail: > $($tail)*) |
852 | ); |
853 | (@stack[And, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
854 | __op_internal__!(@stack[$($stack,)*] @queue[And, $($queue,)*] @tail: > $($tail)*) |
855 | ); |
856 | (@stack[Xor, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
857 | __op_internal__!(@stack[$($stack,)*] @queue[Xor, $($queue,)*] @tail: > $($tail)*) |
858 | ); |
859 | (@stack[Or, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
860 | __op_internal__!(@stack[$($stack,)*] @queue[Or, $($queue,)*] @tail: > $($tail)*) |
861 | ); |
862 | (@stack[Eq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
863 | __op_internal__!(@stack[$($stack,)*] @queue[Eq, $($queue,)*] @tail: > $($tail)*) |
864 | ); |
865 | (@stack[NotEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
866 | __op_internal__!(@stack[$($stack,)*] @queue[NotEq, $($queue,)*] @tail: > $($tail)*) |
867 | ); |
868 | (@stack[LeEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
869 | __op_internal__!(@stack[$($stack,)*] @queue[LeEq, $($queue,)*] @tail: > $($tail)*) |
870 | ); |
871 | (@stack[GrEq, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
872 | __op_internal__!(@stack[$($stack,)*] @queue[GrEq, $($queue,)*] @tail: > $($tail)*) |
873 | ); |
874 | (@stack[Le, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
875 | __op_internal__!(@stack[$($stack,)*] @queue[Le, $($queue,)*] @tail: > $($tail)*) |
876 | ); |
877 | (@stack[Gr, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
878 | __op_internal__!(@stack[$($stack,)*] @queue[Gr, $($queue,)*] @tail: > $($tail)*) |
879 | ); |
880 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: > $($tail:tt)*) => ( |
881 | __op_internal__!(@stack[Gr, $($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
882 | ); |
883 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: ( $($stuff:tt)* ) $($tail:tt)* ) |
884 | => ( |
885 | __op_internal__!(@stack[LParen, $($stack,)*] @queue[$($queue,)*] |
886 | @tail: $($stuff)* RParen $($tail)*) |
887 | ); |
888 | (@stack[LParen, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: RParen $($tail:tt)*) => ( |
889 | __op_internal__!(@rp3 @stack[$($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
890 | ); |
891 | (@stack[$stack_top:ident, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: RParen $($tail:tt)*) |
892 | => ( |
893 | __op_internal__!(@stack[$($stack,)*] @queue[$stack_top, $($queue,)*] @tail: RParen $($tail)*) |
894 | ); |
895 | (@rp3 @stack[Compare, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
896 | __op_internal__!(@stack[$($stack,)*] @queue[Compare, $($queue,)*] @tail: $($tail)*) |
897 | ); |
898 | (@rp3 @stack[Square, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
899 | __op_internal__!(@stack[$($stack,)*] @queue[Square, $($queue,)*] @tail: $($tail)*) |
900 | ); |
901 | (@rp3 @stack[Sqrt, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
902 | __op_internal__!(@stack[$($stack,)*] @queue[Sqrt, $($queue,)*] @tail: $($tail)*) |
903 | ); |
904 | (@rp3 @stack[AbsVal, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
905 | __op_internal__!(@stack[$($stack,)*] @queue[AbsVal, $($queue,)*] @tail: $($tail)*) |
906 | ); |
907 | (@rp3 @stack[Cube, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
908 | __op_internal__!(@stack[$($stack,)*] @queue[Cube, $($queue,)*] @tail: $($tail)*) |
909 | ); |
910 | (@rp3 @stack[Exp, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
911 | __op_internal__!(@stack[$($stack,)*] @queue[Exp, $($queue,)*] @tail: $($tail)*) |
912 | ); |
913 | (@rp3 @stack[Minimum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
914 | __op_internal__!(@stack[$($stack,)*] @queue[Minimum, $($queue,)*] @tail: $($tail)*) |
915 | ); |
916 | (@rp3 @stack[Maximum, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
917 | __op_internal__!(@stack[$($stack,)*] @queue[Maximum, $($queue,)*] @tail: $($tail)*) |
918 | ); |
919 | (@rp3 @stack[Log2, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
920 | __op_internal__!(@stack[$($stack,)*] @queue[Log2, $($queue,)*] @tail: $($tail)*) |
921 | ); |
922 | (@rp3 @stack[Gcf, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
923 | __op_internal__!(@stack[$($stack,)*] @queue[Gcf, $($queue,)*] @tail: $($tail)*) |
924 | ); |
925 | (@rp3 @stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $($tail:tt)*) => ( |
926 | __op_internal__!(@stack[$($stack,)*] @queue[$($queue,)*] @tail: $($tail)*) |
927 | ); |
928 | (@stack[$($stack:ident,)*] @queue[$($queue:ident,)*] @tail: $num:ident $($tail:tt)*) => ( |
929 | __op_internal__!(@stack[$($stack,)*] @queue[$num, $($queue,)*] @tail: $($tail)*) |
930 | ); |
931 | (@stack[] @queue[$($queue:ident,)*] @tail: ) => ( |
932 | __op_internal__!(@reverse[] @input: $($queue,)*) |
933 | ); |
934 | (@stack[$stack_top:ident, $($stack:ident,)*] @queue[$($queue:ident,)*] @tail:) => ( |
935 | __op_internal__!(@stack[$($stack,)*] @queue[$stack_top, $($queue,)*] @tail: ) |
936 | ); |
937 | (@reverse[$($revved:ident,)*] @input: $head:ident, $($tail:ident,)* ) => ( |
938 | __op_internal__!(@reverse[$head, $($revved,)*] @input: $($tail,)*) |
939 | ); |
940 | (@reverse[$($revved:ident,)*] @input: ) => ( |
941 | __op_internal__!(@eval @stack[] @input[$($revved,)*]) |
942 | ); |
943 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Prod, $($tail:ident,)*]) => ( |
944 | __op_internal__!(@eval @stack[$crate::Prod<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
945 | ); |
946 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Quot, $($tail:ident,)*]) => ( |
947 | __op_internal__!(@eval @stack[$crate::Quot<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
948 | ); |
949 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Mod, $($tail:ident,)*]) => ( |
950 | __op_internal__!(@eval @stack[$crate::Mod<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
951 | ); |
952 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Sum, $($tail:ident,)*]) => ( |
953 | __op_internal__!(@eval @stack[$crate::Sum<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
954 | ); |
955 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Diff, $($tail:ident,)*]) => ( |
956 | __op_internal__!(@eval @stack[$crate::Diff<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
957 | ); |
958 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Shleft, $($tail:ident,)*]) => ( |
959 | __op_internal__!(@eval @stack[$crate::Shleft<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
960 | ); |
961 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Shright, $($tail:ident,)*]) => ( |
962 | __op_internal__!(@eval @stack[$crate::Shright<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
963 | ); |
964 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[And, $($tail:ident,)*]) => ( |
965 | __op_internal__!(@eval @stack[$crate::And<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
966 | ); |
967 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Xor, $($tail:ident,)*]) => ( |
968 | __op_internal__!(@eval @stack[$crate::Xor<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
969 | ); |
970 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Or, $($tail:ident,)*]) => ( |
971 | __op_internal__!(@eval @stack[$crate::Or<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
972 | ); |
973 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Eq, $($tail:ident,)*]) => ( |
974 | __op_internal__!(@eval @stack[$crate::Eq<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
975 | ); |
976 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[NotEq, $($tail:ident,)*]) => ( |
977 | __op_internal__!(@eval @stack[$crate::NotEq<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
978 | ); |
979 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[LeEq, $($tail:ident,)*]) => ( |
980 | __op_internal__!(@eval @stack[$crate::LeEq<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
981 | ); |
982 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[GrEq, $($tail:ident,)*]) => ( |
983 | __op_internal__!(@eval @stack[$crate::GrEq<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
984 | ); |
985 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Le, $($tail:ident,)*]) => ( |
986 | __op_internal__!(@eval @stack[$crate::Le<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
987 | ); |
988 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Gr, $($tail:ident,)*]) => ( |
989 | __op_internal__!(@eval @stack[$crate::Gr<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
990 | ); |
991 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Compare, $($tail:ident,)*]) => ( |
992 | __op_internal__!(@eval @stack[$crate::Compare<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
993 | ); |
994 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Exp, $($tail:ident,)*]) => ( |
995 | __op_internal__!(@eval @stack[$crate::Exp<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
996 | ); |
997 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Minimum, $($tail:ident,)*]) => ( |
998 | __op_internal__!(@eval @stack[$crate::Minimum<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
999 | ); |
1000 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Maximum, $($tail:ident,)*]) => ( |
1001 | __op_internal__!(@eval @stack[$crate::Maximum<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
1002 | ); |
1003 | (@eval @stack[$a:ty, $b:ty, $($stack:ty,)*] @input[Gcf, $($tail:ident,)*]) => ( |
1004 | __op_internal__!(@eval @stack[$crate::Gcf<$b, $a>, $($stack,)*] @input[$($tail,)*]) |
1005 | ); |
1006 | (@eval @stack[$a:ty, $($stack:ty,)*] @input[Square, $($tail:ident,)*]) => ( |
1007 | __op_internal__!(@eval @stack[$crate::Square<$a>, $($stack,)*] @input[$($tail,)*]) |
1008 | ); |
1009 | (@eval @stack[$a:ty, $($stack:ty,)*] @input[Sqrt, $($tail:ident,)*]) => ( |
1010 | __op_internal__!(@eval @stack[$crate::Sqrt<$a>, $($stack,)*] @input[$($tail,)*]) |
1011 | ); |
1012 | (@eval @stack[$a:ty, $($stack:ty,)*] @input[AbsVal, $($tail:ident,)*]) => ( |
1013 | __op_internal__!(@eval @stack[$crate::AbsVal<$a>, $($stack,)*] @input[$($tail,)*]) |
1014 | ); |
1015 | (@eval @stack[$a:ty, $($stack:ty,)*] @input[Cube, $($tail:ident,)*]) => ( |
1016 | __op_internal__!(@eval @stack[$crate::Cube<$a>, $($stack,)*] @input[$($tail,)*]) |
1017 | ); |
1018 | (@eval @stack[$a:ty, $($stack:ty,)*] @input[Log2, $($tail:ident,)*]) => ( |
1019 | __op_internal__!(@eval @stack[$crate::Log2<$a>, $($stack,)*] @input[$($tail,)*]) |
1020 | ); |
1021 | (@eval @stack[$($stack:ty,)*] @input[$head:ident, $($tail:ident,)*]) => ( |
1022 | __op_internal__!(@eval @stack[$head, $($stack,)*] @input[$($tail,)*]) |
1023 | ); |
1024 | (@eval @stack[$stack:ty,] @input[]) => ( |
1025 | $stack |
1026 | ); |
1027 | ($($tail:tt)* ) => ( |
1028 | __op_internal__!(@stack[] @queue[] @tail: $($tail)*) |
1029 | ); |
1030 | } |
1031 | |