enhanced ginaccint.bin.cpp (help, read from file, save commands)
[ginac.git] / cint / dummies.h
1 /*  dummies.h
2  *
3  *  Dummies and wrappers to overcome certain deficiencies of Cint.
4  *  This file was generated automatically by dummies.pl.
5  *  Please do not modify it directly, edit the perl script instead!
6  */
7
8 #if (!defined(G_CINTVERSION)) || (G_CINTVERSION < 501437)
9 // this dummy file seems to be no longer needed for cint >= 5.14.37
10
11 // fixes for function sin(x)
12 inline function sin(symbol const & x) { return sin(ex(x)); }
13 inline function sin(function const & x) { return sin(ex(x)); }
14 inline function sin(constant const & x) { return sin(ex(x)); }
15 inline function sin(idx const & x) { return sin(ex(x)); }
16 inline function sin(lorentzidx const & x) { return sin(ex(x)); }
17 inline function sin(coloridx const & x) { return sin(ex(x)); }
18
19 // fixes for function cos(x)
20 inline function cos(symbol const & x) { return cos(ex(x)); }
21 inline function cos(function const & x) { return cos(ex(x)); }
22 inline function cos(constant const & x) { return cos(ex(x)); }
23 inline function cos(idx const & x) { return cos(ex(x)); }
24 inline function cos(lorentzidx const & x) { return cos(ex(x)); }
25 inline function cos(coloridx const & x) { return cos(ex(x)); }
26
27 // fixes for function tan(x)
28 inline function tan(symbol const & x) { return tan(ex(x)); }
29 inline function tan(function const & x) { return tan(ex(x)); }
30 inline function tan(constant const & x) { return tan(ex(x)); }
31 inline function tan(idx const & x) { return tan(ex(x)); }
32 inline function tan(lorentzidx const & x) { return tan(ex(x)); }
33 inline function tan(coloridx const & x) { return tan(ex(x)); }
34
35 // fixes for function asin(x)
36 inline function asin(symbol const & x) { return asin(ex(x)); }
37 inline function asin(function const & x) { return asin(ex(x)); }
38 inline function asin(constant const & x) { return asin(ex(x)); }
39 inline function asin(idx const & x) { return asin(ex(x)); }
40 inline function asin(lorentzidx const & x) { return asin(ex(x)); }
41 inline function asin(coloridx const & x) { return asin(ex(x)); }
42
43 // fixes for function acos(x)
44 inline function acos(symbol const & x) { return acos(ex(x)); }
45 inline function acos(function const & x) { return acos(ex(x)); }
46 inline function acos(constant const & x) { return acos(ex(x)); }
47 inline function acos(idx const & x) { return acos(ex(x)); }
48 inline function acos(lorentzidx const & x) { return acos(ex(x)); }
49 inline function acos(coloridx const & x) { return acos(ex(x)); }
50
51 // fixes for function atan(x)
52 inline function atan(symbol const & x) { return atan(ex(x)); }
53 inline function atan(function const & x) { return atan(ex(x)); }
54 inline function atan(constant const & x) { return atan(ex(x)); }
55 inline function atan(idx const & x) { return atan(ex(x)); }
56 inline function atan(lorentzidx const & x) { return atan(ex(x)); }
57 inline function atan(coloridx const & x) { return atan(ex(x)); }
58
59 // fixes for function exp(x)
60 inline function exp(symbol const & x) { return exp(ex(x)); }
61 inline function exp(function const & x) { return exp(ex(x)); }
62 inline function exp(constant const & x) { return exp(ex(x)); }
63 inline function exp(idx const & x) { return exp(ex(x)); }
64 inline function exp(lorentzidx const & x) { return exp(ex(x)); }
65 inline function exp(coloridx const & x) { return exp(ex(x)); }
66
67 // fixes for function log(x)
68 inline function log(symbol const & x) { return log(ex(x)); }
69 inline function log(function const & x) { return log(ex(x)); }
70 inline function log(constant const & x) { return log(ex(x)); }
71 inline function log(idx const & x) { return log(ex(x)); }
72 inline function log(lorentzidx const & x) { return log(ex(x)); }
73 inline function log(coloridx const & x) { return log(ex(x)); }
74
75 // fixes for function sinh(x)
76 inline function sinh(symbol const & x) { return sinh(ex(x)); }
77 inline function sinh(function const & x) { return sinh(ex(x)); }
78 inline function sinh(constant const & x) { return sinh(ex(x)); }
79 inline function sinh(idx const & x) { return sinh(ex(x)); }
80 inline function sinh(lorentzidx const & x) { return sinh(ex(x)); }
81 inline function sinh(coloridx const & x) { return sinh(ex(x)); }
82
83 // fixes for function cosh(x)
84 inline function cosh(symbol const & x) { return cosh(ex(x)); }
85 inline function cosh(function const & x) { return cosh(ex(x)); }
86 inline function cosh(constant const & x) { return cosh(ex(x)); }
87 inline function cosh(idx const & x) { return cosh(ex(x)); }
88 inline function cosh(lorentzidx const & x) { return cosh(ex(x)); }
89 inline function cosh(coloridx const & x) { return cosh(ex(x)); }
90
91 // fixes for function tanh(x)
92 inline function tanh(symbol const & x) { return tanh(ex(x)); }
93 inline function tanh(function const & x) { return tanh(ex(x)); }
94 inline function tanh(constant const & x) { return tanh(ex(x)); }
95 inline function tanh(idx const & x) { return tanh(ex(x)); }
96 inline function tanh(lorentzidx const & x) { return tanh(ex(x)); }
97 inline function tanh(coloridx const & x) { return tanh(ex(x)); }
98
99 // fixes for function abs(x)
100 inline function abs(symbol const & x) { return abs(ex(x)); }
101 inline function abs(function const & x) { return abs(ex(x)); }
102 inline function abs(constant const & x) { return abs(ex(x)); }
103 inline function abs(idx const & x) { return abs(ex(x)); }
104 inline function abs(lorentzidx const & x) { return abs(ex(x)); }
105 inline function abs(coloridx const & x) { return abs(ex(x)); }
106
107 // fixes for ex sqrt(x)
108 inline ex sqrt(symbol const & x) { return sqrt(ex(x)); }
109 inline ex sqrt(function const & x) { return sqrt(ex(x)); }
110 inline ex sqrt(constant const & x) { return sqrt(ex(x)); }
111 inline ex sqrt(idx const & x) { return sqrt(ex(x)); }
112 inline ex sqrt(lorentzidx const & x) { return sqrt(ex(x)); }
113 inline ex sqrt(coloridx const & x) { return sqrt(ex(x)); }
114
115 // fixes for function atan2(x,y)
116 inline function atan2(symbol const & x,symbol const & y) {
117     return atan2(ex(x),ex(y));
118 }
119 inline function atan2(symbol const & x,function const & y) {
120     return atan2(ex(x),ex(y));
121 }
122 inline function atan2(symbol const & x,constant const & y) {
123     return atan2(ex(x),ex(y));
124 }
125 inline function atan2(symbol const & x,idx const & y) {
126     return atan2(ex(x),ex(y));
127 }
128 inline function atan2(symbol const & x,lorentzidx const & y) {
129     return atan2(ex(x),ex(y));
130 }
131 inline function atan2(symbol const & x,coloridx const & y) {
132     return atan2(ex(x),ex(y));
133 }
134 inline function atan2(function const & x,symbol const & y) {
135     return atan2(ex(x),ex(y));
136 }
137 inline function atan2(function const & x,function const & y) {
138     return atan2(ex(x),ex(y));
139 }
140 inline function atan2(function const & x,constant const & y) {
141     return atan2(ex(x),ex(y));
142 }
143 inline function atan2(function const & x,idx const & y) {
144     return atan2(ex(x),ex(y));
145 }
146 inline function atan2(function const & x,lorentzidx const & y) {
147     return atan2(ex(x),ex(y));
148 }
149 inline function atan2(function const & x,coloridx const & y) {
150     return atan2(ex(x),ex(y));
151 }
152 inline function atan2(constant const & x,symbol const & y) {
153     return atan2(ex(x),ex(y));
154 }
155 inline function atan2(constant const & x,function const & y) {
156     return atan2(ex(x),ex(y));
157 }
158 inline function atan2(constant const & x,constant const & y) {
159     return atan2(ex(x),ex(y));
160 }
161 inline function atan2(constant const & x,idx const & y) {
162     return atan2(ex(x),ex(y));
163 }
164 inline function atan2(constant const & x,lorentzidx const & y) {
165     return atan2(ex(x),ex(y));
166 }
167 inline function atan2(constant const & x,coloridx const & y) {
168     return atan2(ex(x),ex(y));
169 }
170 inline function atan2(idx const & x,symbol const & y) {
171     return atan2(ex(x),ex(y));
172 }
173 inline function atan2(idx const & x,function const & y) {
174     return atan2(ex(x),ex(y));
175 }
176 inline function atan2(idx const & x,constant const & y) {
177     return atan2(ex(x),ex(y));
178 }
179 inline function atan2(idx const & x,idx const & y) {
180     return atan2(ex(x),ex(y));
181 }
182 inline function atan2(idx const & x,lorentzidx const & y) {
183     return atan2(ex(x),ex(y));
184 }
185 inline function atan2(idx const & x,coloridx const & y) {
186     return atan2(ex(x),ex(y));
187 }
188 inline function atan2(lorentzidx const & x,symbol const & y) {
189     return atan2(ex(x),ex(y));
190 }
191 inline function atan2(lorentzidx const & x,function const & y) {
192     return atan2(ex(x),ex(y));
193 }
194 inline function atan2(lorentzidx const & x,constant const & y) {
195     return atan2(ex(x),ex(y));
196 }
197 inline function atan2(lorentzidx const & x,idx const & y) {
198     return atan2(ex(x),ex(y));
199 }
200 inline function atan2(lorentzidx const & x,lorentzidx const & y) {
201     return atan2(ex(x),ex(y));
202 }
203 inline function atan2(lorentzidx const & x,coloridx const & y) {
204     return atan2(ex(x),ex(y));
205 }
206 inline function atan2(coloridx const & x,symbol const & y) {
207     return atan2(ex(x),ex(y));
208 }
209 inline function atan2(coloridx const & x,function const & y) {
210     return atan2(ex(x),ex(y));
211 }
212 inline function atan2(coloridx const & x,constant const & y) {
213     return atan2(ex(x),ex(y));
214 }
215 inline function atan2(coloridx const & x,idx const & y) {
216     return atan2(ex(x),ex(y));
217 }
218 inline function atan2(coloridx const & x,lorentzidx const & y) {
219     return atan2(ex(x),ex(y));
220 }
221 inline function atan2(coloridx const & x,coloridx const & y) {
222     return atan2(ex(x),ex(y));
223 }
224 inline function atan2(symbol const & x,numeric const & y) {
225     return atan2(ex(x),ex(y));
226 }
227 inline function atan2(symbol const & x,int const & y) {
228     return atan2(ex(x),ex(y));
229 }
230 inline function atan2(symbol const & x,double const & y) {
231     return atan2(ex(x),ex(y));
232 }
233 inline function atan2(function const & x,numeric const & y) {
234     return atan2(ex(x),ex(y));
235 }
236 inline function atan2(function const & x,int const & y) {
237     return atan2(ex(x),ex(y));
238 }
239 inline function atan2(function const & x,double const & y) {
240     return atan2(ex(x),ex(y));
241 }
242 inline function atan2(constant const & x,numeric const & y) {
243     return atan2(ex(x),ex(y));
244 }
245 inline function atan2(constant const & x,int const & y) {
246     return atan2(ex(x),ex(y));
247 }
248 inline function atan2(constant const & x,double const & y) {
249     return atan2(ex(x),ex(y));
250 }
251 inline function atan2(idx const & x,numeric const & y) {
252     return atan2(ex(x),ex(y));
253 }
254 inline function atan2(idx const & x,int const & y) {
255     return atan2(ex(x),ex(y));
256 }
257 inline function atan2(idx const & x,double const & y) {
258     return atan2(ex(x),ex(y));
259 }
260 inline function atan2(lorentzidx const & x,numeric const & y) {
261     return atan2(ex(x),ex(y));
262 }
263 inline function atan2(lorentzidx const & x,int const & y) {
264     return atan2(ex(x),ex(y));
265 }
266 inline function atan2(lorentzidx const & x,double const & y) {
267     return atan2(ex(x),ex(y));
268 }
269 inline function atan2(coloridx const & x,numeric const & y) {
270     return atan2(ex(x),ex(y));
271 }
272 inline function atan2(coloridx const & x,int const & y) {
273     return atan2(ex(x),ex(y));
274 }
275 inline function atan2(coloridx const & x,double const & y) {
276     return atan2(ex(x),ex(y));
277 }
278 inline function atan2(numeric const & x,symbol const & y) {
279     return atan2(ex(x),ex(y));
280 }
281 inline function atan2(numeric const & x,function const & y) {
282     return atan2(ex(x),ex(y));
283 }
284 inline function atan2(numeric const & x,constant const & y) {
285     return atan2(ex(x),ex(y));
286 }
287 inline function atan2(numeric const & x,idx const & y) {
288     return atan2(ex(x),ex(y));
289 }
290 inline function atan2(numeric const & x,lorentzidx const & y) {
291     return atan2(ex(x),ex(y));
292 }
293 inline function atan2(numeric const & x,coloridx const & y) {
294     return atan2(ex(x),ex(y));
295 }
296 inline function atan2(int const & x,symbol const & y) {
297     return atan2(ex(x),ex(y));
298 }
299 inline function atan2(int const & x,function const & y) {
300     return atan2(ex(x),ex(y));
301 }
302 inline function atan2(int const & x,constant const & y) {
303     return atan2(ex(x),ex(y));
304 }
305 inline function atan2(int const & x,idx const & y) {
306     return atan2(ex(x),ex(y));
307 }
308 inline function atan2(int const & x,lorentzidx const & y) {
309     return atan2(ex(x),ex(y));
310 }
311 inline function atan2(int const & x,coloridx const & y) {
312     return atan2(ex(x),ex(y));
313 }
314 inline function atan2(double const & x,symbol const & y) {
315     return atan2(ex(x),ex(y));
316 }
317 inline function atan2(double const & x,function const & y) {
318     return atan2(ex(x),ex(y));
319 }
320 inline function atan2(double const & x,constant const & y) {
321     return atan2(ex(x),ex(y));
322 }
323 inline function atan2(double const & x,idx const & y) {
324     return atan2(ex(x),ex(y));
325 }
326 inline function atan2(double const & x,lorentzidx const & y) {
327     return atan2(ex(x),ex(y));
328 }
329 inline function atan2(double const & x,coloridx const & y) {
330     return atan2(ex(x),ex(y));
331 }
332 inline function atan2(ex const & x,numeric const & y) {
333     return atan2(ex(x),ex(y));
334 }
335 inline function atan2(ex const & x,int const & y) {
336     return atan2(ex(x),ex(y));
337 }
338 inline function atan2(ex const & x,double const & y) {
339     return atan2(ex(x),ex(y));
340 }
341 inline function atan2(numeric const & x,ex const & y) {
342     return atan2(ex(x),ex(y));
343 }
344 inline function atan2(int const & x,ex const & y) {
345     return atan2(ex(x),ex(y));
346 }
347 inline function atan2(double const & x,ex const & y) {
348     return atan2(ex(x),ex(y));
349 }
350
351 // fixes for ex pow(x,y)
352 inline ex pow(symbol const & x,symbol const & y) {
353     return pow(ex(x),ex(y));
354 }
355 inline ex pow(symbol const & x,function const & y) {
356     return pow(ex(x),ex(y));
357 }
358 inline ex pow(symbol const & x,constant const & y) {
359     return pow(ex(x),ex(y));
360 }
361 inline ex pow(symbol const & x,idx const & y) {
362     return pow(ex(x),ex(y));
363 }
364 inline ex pow(symbol const & x,lorentzidx const & y) {
365     return pow(ex(x),ex(y));
366 }
367 inline ex pow(symbol const & x,coloridx const & y) {
368     return pow(ex(x),ex(y));
369 }
370 inline ex pow(function const & x,symbol const & y) {
371     return pow(ex(x),ex(y));
372 }
373 inline ex pow(function const & x,function const & y) {
374     return pow(ex(x),ex(y));
375 }
376 inline ex pow(function const & x,constant const & y) {
377     return pow(ex(x),ex(y));
378 }
379 inline ex pow(function const & x,idx const & y) {
380     return pow(ex(x),ex(y));
381 }
382 inline ex pow(function const & x,lorentzidx const & y) {
383     return pow(ex(x),ex(y));
384 }
385 inline ex pow(function const & x,coloridx const & y) {
386     return pow(ex(x),ex(y));
387 }
388 inline ex pow(constant const & x,symbol const & y) {
389     return pow(ex(x),ex(y));
390 }
391 inline ex pow(constant const & x,function const & y) {
392     return pow(ex(x),ex(y));
393 }
394 inline ex pow(constant const & x,constant const & y) {
395     return pow(ex(x),ex(y));
396 }
397 inline ex pow(constant const & x,idx const & y) {
398     return pow(ex(x),ex(y));
399 }
400 inline ex pow(constant const & x,lorentzidx const & y) {
401     return pow(ex(x),ex(y));
402 }
403 inline ex pow(constant const & x,coloridx const & y) {
404     return pow(ex(x),ex(y));
405 }
406 inline ex pow(idx const & x,symbol const & y) {
407     return pow(ex(x),ex(y));
408 }
409 inline ex pow(idx const & x,function const & y) {
410     return pow(ex(x),ex(y));
411 }
412 inline ex pow(idx const & x,constant const & y) {
413     return pow(ex(x),ex(y));
414 }
415 inline ex pow(idx const & x,idx const & y) {
416     return pow(ex(x),ex(y));
417 }
418 inline ex pow(idx const & x,lorentzidx const & y) {
419     return pow(ex(x),ex(y));
420 }
421 inline ex pow(idx const & x,coloridx const & y) {
422     return pow(ex(x),ex(y));
423 }
424 inline ex pow(lorentzidx const & x,symbol const & y) {
425     return pow(ex(x),ex(y));
426 }
427 inline ex pow(lorentzidx const & x,function const & y) {
428     return pow(ex(x),ex(y));
429 }
430 inline ex pow(lorentzidx const & x,constant const & y) {
431     return pow(ex(x),ex(y));
432 }
433 inline ex pow(lorentzidx const & x,idx const & y) {
434     return pow(ex(x),ex(y));
435 }
436 inline ex pow(lorentzidx const & x,lorentzidx const & y) {
437     return pow(ex(x),ex(y));
438 }
439 inline ex pow(lorentzidx const & x,coloridx const & y) {
440     return pow(ex(x),ex(y));
441 }
442 inline ex pow(coloridx const & x,symbol const & y) {
443     return pow(ex(x),ex(y));
444 }
445 inline ex pow(coloridx const & x,function const & y) {
446     return pow(ex(x),ex(y));
447 }
448 inline ex pow(coloridx const & x,constant const & y) {
449     return pow(ex(x),ex(y));
450 }
451 inline ex pow(coloridx const & x,idx const & y) {
452     return pow(ex(x),ex(y));
453 }
454 inline ex pow(coloridx const & x,lorentzidx const & y) {
455     return pow(ex(x),ex(y));
456 }
457 inline ex pow(coloridx const & x,coloridx const & y) {
458     return pow(ex(x),ex(y));
459 }
460 inline ex pow(symbol const & x,numeric const & y) {
461     return pow(ex(x),ex(y));
462 }
463 inline ex pow(symbol const & x,int const & y) {
464     return pow(ex(x),ex(y));
465 }
466 inline ex pow(symbol const & x,double const & y) {
467     return pow(ex(x),ex(y));
468 }
469 inline ex pow(function const & x,numeric const & y) {
470     return pow(ex(x),ex(y));
471 }
472 inline ex pow(function const & x,int const & y) {
473     return pow(ex(x),ex(y));
474 }
475 inline ex pow(function const & x,double const & y) {
476     return pow(ex(x),ex(y));
477 }
478 inline ex pow(constant const & x,numeric const & y) {
479     return pow(ex(x),ex(y));
480 }
481 inline ex pow(constant const & x,int const & y) {
482     return pow(ex(x),ex(y));
483 }
484 inline ex pow(constant const & x,double const & y) {
485     return pow(ex(x),ex(y));
486 }
487 inline ex pow(idx const & x,numeric const & y) {
488     return pow(ex(x),ex(y));
489 }
490 inline ex pow(idx const & x,int const & y) {
491     return pow(ex(x),ex(y));
492 }
493 inline ex pow(idx const & x,double const & y) {
494     return pow(ex(x),ex(y));
495 }
496 inline ex pow(lorentzidx const & x,numeric const & y) {
497     return pow(ex(x),ex(y));
498 }
499 inline ex pow(lorentzidx const & x,int const & y) {
500     return pow(ex(x),ex(y));
501 }
502 inline ex pow(lorentzidx const & x,double const & y) {
503     return pow(ex(x),ex(y));
504 }
505 inline ex pow(coloridx const & x,numeric const & y) {
506     return pow(ex(x),ex(y));
507 }
508 inline ex pow(coloridx const & x,int const & y) {
509     return pow(ex(x),ex(y));
510 }
511 inline ex pow(coloridx const & x,double const & y) {
512     return pow(ex(x),ex(y));
513 }
514 inline ex pow(numeric const & x,symbol const & y) {
515     return pow(ex(x),ex(y));
516 }
517 inline ex pow(numeric const & x,function const & y) {
518     return pow(ex(x),ex(y));
519 }
520 inline ex pow(numeric const & x,constant const & y) {
521     return pow(ex(x),ex(y));
522 }
523 inline ex pow(numeric const & x,idx const & y) {
524     return pow(ex(x),ex(y));
525 }
526 inline ex pow(numeric const & x,lorentzidx const & y) {
527     return pow(ex(x),ex(y));
528 }
529 inline ex pow(numeric const & x,coloridx const & y) {
530     return pow(ex(x),ex(y));
531 }
532 inline ex pow(int const & x,symbol const & y) {
533     return pow(ex(x),ex(y));
534 }
535 inline ex pow(int const & x,function const & y) {
536     return pow(ex(x),ex(y));
537 }
538 inline ex pow(int const & x,constant const & y) {
539     return pow(ex(x),ex(y));
540 }
541 inline ex pow(int const & x,idx const & y) {
542     return pow(ex(x),ex(y));
543 }
544 inline ex pow(int const & x,lorentzidx const & y) {
545     return pow(ex(x),ex(y));
546 }
547 inline ex pow(int const & x,coloridx const & y) {
548     return pow(ex(x),ex(y));
549 }
550 inline ex pow(double const & x,symbol const & y) {
551     return pow(ex(x),ex(y));
552 }
553 inline ex pow(double const & x,function const & y) {
554     return pow(ex(x),ex(y));
555 }
556 inline ex pow(double const & x,constant const & y) {
557     return pow(ex(x),ex(y));
558 }
559 inline ex pow(double const & x,idx const & y) {
560     return pow(ex(x),ex(y));
561 }
562 inline ex pow(double const & x,lorentzidx const & y) {
563     return pow(ex(x),ex(y));
564 }
565 inline ex pow(double const & x,coloridx const & y) {
566     return pow(ex(x),ex(y));
567 }
568 inline ex pow(ex const & x,numeric const & y) {
569     return pow(ex(x),ex(y));
570 }
571 inline ex pow(ex const & x,int const & y) {
572     return pow(ex(x),ex(y));
573 }
574 inline ex pow(ex const & x,double const & y) {
575     return pow(ex(x),ex(y));
576 }
577 inline ex pow(numeric const & x,ex const & y) {
578     return pow(ex(x),ex(y));
579 }
580 inline ex pow(int const & x,ex const & y) {
581     return pow(ex(x),ex(y));
582 }
583 inline ex pow(double const & x,ex const & y) {
584     return pow(ex(x),ex(y));
585 }
586
587 // fixes for ex operator+(x,y)
588 inline ex operator+(ex const & x, basic const & y) {
589     return operator+((x),ex(y));
590 }
591 inline ex operator+(basic const & x, ex const & y) {
592     return operator+(ex(x),(y));
593 }
594 inline ex operator+(basic const & x, basic const & y) {
595     return operator+(ex(x),ex(y));
596 }
597
598 // fixes for ex operator-(x,y)
599 inline ex operator-(ex const & x, basic const & y) {
600     return operator-((x),ex(y));
601 }
602 inline ex operator-(basic const & x, ex const & y) {
603     return operator-(ex(x),(y));
604 }
605 inline ex operator-(basic const & x, basic const & y) {
606     return operator-(ex(x),ex(y));
607 }
608
609 // fixes for ex operator*(x,y)
610 inline ex operator*(ex const & x, basic const & y) {
611     return operator*((x),ex(y));
612 }
613 inline ex operator*(basic const & x, ex const & y) {
614     return operator*(ex(x),(y));
615 }
616 inline ex operator*(basic const & x, basic const & y) {
617     return operator*(ex(x),ex(y));
618 }
619
620 // fixes for ex operator/(x,y)
621 inline ex operator/(ex const & x, basic const & y) {
622     return operator/((x),ex(y));
623 }
624 inline ex operator/(basic const & x, ex const & y) {
625     return operator/(ex(x),(y));
626 }
627 inline ex operator/(basic const & x, basic const & y) {
628     return operator/(ex(x),ex(y));
629 }
630
631 // fixes for ex operator%(x,y)
632 inline ex operator%(ex const & x, basic const & y) {
633     return operator%((x),ex(y));
634 }
635 inline ex operator%(basic const & x, ex const & y) {
636     return operator%(ex(x),(y));
637 }
638 inline ex operator%(basic const & x, basic const & y) {
639     return operator%(ex(x),ex(y));
640 }
641
642 // fixes for relational operator==(x,y)
643 inline relational operator==(ex const & x, basic const & y) {
644     return operator==((x),ex(y));
645 }
646 inline relational operator==(basic const & x, ex const & y) {
647     return operator==(ex(x),(y));
648 }
649 inline relational operator==(basic const & x, basic const & y) {
650     return operator==(ex(x),ex(y));
651 }
652
653 // fixes for relational operator!=(x,y)
654 inline relational operator!=(ex const & x, basic const & y) {
655     return operator!=((x),ex(y));
656 }
657 inline relational operator!=(basic const & x, ex const & y) {
658     return operator!=(ex(x),(y));
659 }
660 inline relational operator!=(basic const & x, basic const & y) {
661     return operator!=(ex(x),ex(y));
662 }
663
664 // fixes for relational operator<(x,y)
665 inline relational operator<(ex const & x, basic const & y) {
666     return operator<((x),ex(y));
667 }
668 inline relational operator<(basic const & x, ex const & y) {
669     return operator<(ex(x),(y));
670 }
671 inline relational operator<(basic const & x, basic const & y) {
672     return operator<(ex(x),ex(y));
673 }
674
675 // fixes for relational operator<=(x,y)
676 inline relational operator<=(ex const & x, basic const & y) {
677     return operator<=((x),ex(y));
678 }
679 inline relational operator<=(basic const & x, ex const & y) {
680     return operator<=(ex(x),(y));
681 }
682 inline relational operator<=(basic const & x, basic const & y) {
683     return operator<=(ex(x),ex(y));
684 }
685
686 // fixes for relational operator>(x,y)
687 inline relational operator>(ex const & x, basic const & y) {
688     return operator>((x),ex(y));
689 }
690 inline relational operator>(basic const & x, ex const & y) {
691     return operator>(ex(x),(y));
692 }
693 inline relational operator>(basic const & x, basic const & y) {
694     return operator>(ex(x),ex(y));
695 }
696
697 // fixes for relational operator>=(x,y)
698 inline relational operator>=(ex const & x, basic const & y) {
699     return operator>=((x),ex(y));
700 }
701 inline relational operator>=(basic const & x, ex const & y) {
702     return operator>=(ex(x),(y));
703 }
704 inline relational operator>=(basic const & x, basic const & y) {
705     return operator>=(ex(x),ex(y));
706 }
707
708 // fixes for ex const & operator+=(x,y)
709 inline ex const & operator+=(ex & x, basic const & y) {
710     return operator+=((x),ex(y));
711 }
712 // fixes for ex const & operator-=(x,y)
713 inline ex const & operator-=(ex & x, basic const & y) {
714     return operator-=((x),ex(y));
715 }
716 // fixes for ex const & operator*=(x,y)
717 inline ex const & operator*=(ex & x, basic const & y) {
718     return operator*=((x),ex(y));
719 }
720 // fixes for ex const & operator/=(x,y)
721 inline ex const & operator/=(ex & x, basic const & y) {
722     return operator/=((x),ex(y));
723 }
724 // fixes for other operators
725 inline ex operator+(basic const & x) {
726     return operator+(ex(x));
727 }
728 inline ex operator-(basic const & x) {
729     return operator-(ex(x));
730 }
731 inline ostream & operator<<(ostream & os, basic const & x) {
732     return operator<<(os,ex(x));
733 }
734 // fixes for functions
735 // fixes for bool are_ex_trivially_equal(x,y)
736 inline bool are_ex_trivially_equal(ex const & x, basic const & y) {
737     return are_ex_trivially_equal((x),ex(y));
738 }
739 inline bool are_ex_trivially_equal(basic const & x, ex const & y) {
740     return are_ex_trivially_equal(ex(x),(y));
741 }
742 inline bool are_ex_trivially_equal(basic const & x, basic const & y) {
743     return are_ex_trivially_equal(ex(x),ex(y));
744 }
745
746 inline unsigned nops(basic const & x) {
747     return nops(ex(x));
748 }
749 inline ex expand(basic const & x) {
750     return expand(ex(x));
751 }
752 // fixes for bool has(x,y)
753 inline bool has(ex const & x, basic const & y) {
754     return has((x),ex(y));
755 }
756 inline bool has(basic const & x, ex const & y) {
757     return has(ex(x),(y));
758 }
759 inline bool has(basic const & x, basic const & y) {
760     return has(ex(x),ex(y));
761 }
762
763 inline int degree(basic const & x, symbol const & y) {
764     return degree(ex(x),(y));
765 }
766 inline int ldegree(basic const & x, symbol const & y) {
767     return ldegree(ex(x),(y));
768 }
769 inline ex coeff(basic const & x, symbol const & y, int z=1) {
770     return coeff(ex(x),(y),z);
771 }
772 inline ex numer(basic const & x) {
773     return numer(ex(x));
774 }
775 inline ex denom(basic const & x) {
776     return denom(ex(x));
777 }
778 inline ex normal(basic const & x, int y=0) {
779     return normal(ex(x),y);
780 }
781 inline ex collect(basic const & x, symbol const & y) {
782     return collect(ex(x),(y));
783 }
784 inline ex eval(basic const & x, int y=0) {
785     return eval(ex(x),y);
786 }
787 inline ex evalf(basic const & x, int y=0) {
788     return evalf(ex(x),y);
789 }
790 inline ex diff(basic const & x, symbol const & y, int z=1) {
791     return diff(ex(x),(y),z);
792 }
793 inline ex series(const basic & x, const relational & y, int z) {
794     return series(ex(x),ex(y),(z));
795 }
796 inline ex series(const basic & x, const symbol & y, int z) {
797     return series(ex(x),ex(y),(z));
798 }
799 // fixes for ex subs(x,y)
800 inline ex subs(ex const & x, basic const & y) {
801     return subs((x),ex(y));
802 }
803 inline ex subs(basic const & x, ex const & y) {
804     return subs(ex(x),(y));
805 }
806 inline ex subs(basic const & x, basic const & y) {
807     return subs(ex(x),ex(y));
808 }
809
810 inline ex subs(basic const & x, lst const & y, lst const & z) {
811     return subs(ex(x),(y),(z));
812 }
813 inline ex op(basic const & x, int y) {
814     return op(ex(x),(y));
815 }
816 inline ex lhs(basic const & x) {
817     return lhs(ex(x));
818 }
819 inline ex rhs(basic const & x) {
820     return rhs(ex(x));
821 }
822 inline bool is_zero(basic const & x) {
823     return is_zero(ex(x));
824 }
825 // fixes for simp_lor lor_g(x,y)
826 inline simp_lor lor_g(ex const & x, basic const & y) {
827     return lor_g((x),ex(y));
828 }
829 inline simp_lor lor_g(basic const & x, ex const & y) {
830     return lor_g(ex(x),(y));
831 }
832 inline simp_lor lor_g(basic const & x, basic const & y) {
833     return lor_g(ex(x),ex(y));
834 }
835
836 inline simp_lor lor_vec(const string & x, const basic & y) {
837     return lor_vec((x),ex(y));
838 }
839
840 #endif // (!defined(G_CINTVERSION)) || (G_CINTVERSION < 501437)