Go to the documentation of this file.
26 #ifndef GINAC_FUNCTION_H
27 #define GINAC_FUNCTION_H
34 #define DECLARE_FUNCTION_1P(NAME) \
35 class NAME##_SERIAL { public: static unsigned serial; }; \
36 const unsigned NAME##_NPARAMS = 1; \
37 template< typename T1 > const GiNaC::function NAME( const T1 & p1 ) { \
38 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1) ); \
40 #define DECLARE_FUNCTION_2P(NAME) \
41 class NAME##_SERIAL { public: static unsigned serial; }; \
42 const unsigned NAME##_NPARAMS = 2; \
43 template< typename T1, typename T2 > const GiNaC::function NAME( const T1 & p1, const T2 & p2 ) { \
44 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2) ); \
46 #define DECLARE_FUNCTION_3P(NAME) \
47 class NAME##_SERIAL { public: static unsigned serial; }; \
48 const unsigned NAME##_NPARAMS = 3; \
49 template< typename T1, typename T2, typename T3 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3 ) { \
50 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3) ); \
52 #define DECLARE_FUNCTION_4P(NAME) \
53 class NAME##_SERIAL { public: static unsigned serial; }; \
54 const unsigned NAME##_NPARAMS = 4; \
55 template< typename T1, typename T2, typename T3, typename T4 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4 ) { \
56 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4) ); \
58 #define DECLARE_FUNCTION_5P(NAME) \
59 class NAME##_SERIAL { public: static unsigned serial; }; \
60 const unsigned NAME##_NPARAMS = 5; \
61 template< typename T1, typename T2, typename T3, typename T4, typename T5 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5 ) { \
62 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5) ); \
64 #define DECLARE_FUNCTION_6P(NAME) \
65 class NAME##_SERIAL { public: static unsigned serial; }; \
66 const unsigned NAME##_NPARAMS = 6; \
67 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6 ) { \
68 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6) ); \
70 #define DECLARE_FUNCTION_7P(NAME) \
71 class NAME##_SERIAL { public: static unsigned serial; }; \
72 const unsigned NAME##_NPARAMS = 7; \
73 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6, const T7 & p7 ) { \
74 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6), GiNaC::ex(p7) ); \
76 #define DECLARE_FUNCTION_8P(NAME) \
77 class NAME##_SERIAL { public: static unsigned serial; }; \
78 const unsigned NAME##_NPARAMS = 8; \
79 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6, const T7 & p7, const T8 & p8 ) { \
80 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6), GiNaC::ex(p7), GiNaC::ex(p8) ); \
82 #define DECLARE_FUNCTION_9P(NAME) \
83 class NAME##_SERIAL { public: static unsigned serial; }; \
84 const unsigned NAME##_NPARAMS = 9; \
85 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6, const T7 & p7, const T8 & p8, const T9 & p9 ) { \
86 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6), GiNaC::ex(p7), GiNaC::ex(p8), GiNaC::ex(p9) ); \
88 #define DECLARE_FUNCTION_10P(NAME) \
89 class NAME##_SERIAL { public: static unsigned serial; }; \
90 const unsigned NAME##_NPARAMS = 10; \
91 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6, const T7 & p7, const T8 & p8, const T9 & p9, const T10 & p10 ) { \
92 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6), GiNaC::ex(p7), GiNaC::ex(p8), GiNaC::ex(p9), GiNaC::ex(p10) ); \
94 #define DECLARE_FUNCTION_11P(NAME) \
95 class NAME##_SERIAL { public: static unsigned serial; }; \
96 const unsigned NAME##_NPARAMS = 11; \
97 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6, const T7 & p7, const T8 & p8, const T9 & p9, const T10 & p10, const T11 & p11 ) { \
98 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6), GiNaC::ex(p7), GiNaC::ex(p8), GiNaC::ex(p9), GiNaC::ex(p10), GiNaC::ex(p11) ); \
100 #define DECLARE_FUNCTION_12P(NAME) \
101 class NAME##_SERIAL { public: static unsigned serial; }; \
102 const unsigned NAME##_NPARAMS = 12; \
103 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6, const T7 & p7, const T8 & p8, const T9 & p9, const T10 & p10, const T11 & p11, const T12 & p12 ) { \
104 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6), GiNaC::ex(p7), GiNaC::ex(p8), GiNaC::ex(p9), GiNaC::ex(p10), GiNaC::ex(p11), GiNaC::ex(p12) ); \
106 #define DECLARE_FUNCTION_13P(NAME) \
107 class NAME##_SERIAL { public: static unsigned serial; }; \
108 const unsigned NAME##_NPARAMS = 13; \
109 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6, const T7 & p7, const T8 & p8, const T9 & p9, const T10 & p10, const T11 & p11, const T12 & p12, const T13 & p13 ) { \
110 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6), GiNaC::ex(p7), GiNaC::ex(p8), GiNaC::ex(p9), GiNaC::ex(p10), GiNaC::ex(p11), GiNaC::ex(p12), GiNaC::ex(p13) ); \
112 #define DECLARE_FUNCTION_14P(NAME) \
113 class NAME##_SERIAL { public: static unsigned serial; }; \
114 const unsigned NAME##_NPARAMS = 14; \
115 template< typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4, const T5 & p5, const T6 & p6, const T7 & p7, const T8 & p8, const T9 & p9, const T10 & p10, const T11 & p11, const T12 & p12, const T13 & p13, const T14 & p14 ) { \
116 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6), GiNaC::ex(p7), GiNaC::ex(p8), GiNaC::ex(p9), GiNaC::ex(p10), GiNaC::ex(p11), GiNaC::ex(p12), GiNaC::ex(p13), GiNaC::ex(p14) ); \
120 #define REGISTER_FUNCTION(NAME,OPT) \
121 unsigned NAME##_SERIAL::serial = \
122 GiNaC::function::register_new(GiNaC::function_options(#NAME, NAME##_NPARAMS).OPT);
236 typedef ex (*
series_funcp_8)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const relational &, int, unsigned );
248 typedef ex (*
series_funcp_9)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const relational &, int, unsigned );
256 typedef ex (*
expand_funcp_10)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
257 typedef ex (*
derivative_funcp_10)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
258 typedef ex (*
expl_derivative_funcp_10)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const symbol & );
259 typedef ex (*
power_funcp_10)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
260 typedef ex (*
series_funcp_10)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const relational &, int, unsigned );
261 typedef void (*
print_funcp_10)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const print_context & );
262 typedef bool (*
info_funcp_10)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
263 typedef ex (*
eval_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
264 typedef ex (*
evalf_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
265 typedef ex (*
conjugate_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
266 typedef ex (*
real_part_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
267 typedef ex (*
imag_part_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
268 typedef ex (*
expand_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
269 typedef ex (*
derivative_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
270 typedef ex (*
expl_derivative_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const symbol & );
271 typedef ex (*
power_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
272 typedef ex (*
series_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const relational &, int, unsigned );
273 typedef void (*
print_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const print_context & );
274 typedef bool (*
info_funcp_11)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
275 typedef ex (*
eval_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
276 typedef ex (*
evalf_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
277 typedef ex (*
conjugate_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
278 typedef ex (*
real_part_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
279 typedef ex (*
imag_part_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
280 typedef ex (*
expand_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
281 typedef ex (*
derivative_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
282 typedef ex (*
expl_derivative_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const symbol & );
283 typedef ex (*
power_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
284 typedef ex (*
series_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const relational &, int, unsigned );
285 typedef void (*
print_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const print_context & );
286 typedef bool (*
info_funcp_12)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
287 typedef ex (*
eval_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
288 typedef ex (*
evalf_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
289 typedef ex (*
conjugate_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
290 typedef ex (*
real_part_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
291 typedef ex (*
imag_part_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
292 typedef ex (*
expand_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
293 typedef ex (*
derivative_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
294 typedef ex (*
expl_derivative_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const symbol & );
295 typedef ex (*
power_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
296 typedef ex (*
series_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const relational &, int, unsigned );
297 typedef void (*
print_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const print_context & );
298 typedef bool (*
info_funcp_13)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
299 typedef ex (*
eval_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
300 typedef ex (*
evalf_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
301 typedef ex (*
conjugate_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
302 typedef ex (*
real_part_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
303 typedef ex (*
imag_part_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
304 typedef ex (*
expand_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
305 typedef ex (*
derivative_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
306 typedef ex (*
expl_derivative_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const symbol & );
307 typedef ex (*
power_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex & );
308 typedef ex (*
series_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const relational &, int, unsigned );
309 typedef void (*
print_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const print_context & );
310 typedef bool (*
info_funcp_14)(
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &,
const ex &, unsigned );
686 function(
unsigned ser, const
ex & param1, const
ex & param2);
687 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3);
688 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4);
689 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5);
690 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6);
691 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6, const
ex & param7);
692 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6, const
ex & param7, const
ex & param8);
693 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6, const
ex & param7, const
ex & param8, const
ex & param9);
694 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6, const
ex & param7, const
ex & param8, const
ex & param9, const
ex & param10);
695 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6, const
ex & param7, const
ex & param8, const
ex & param9, const
ex & param10, const
ex & param11);
696 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6, const
ex & param7, const
ex & param8, const
ex & param9, const
ex & param10, const
ex & param11, const
ex & param12);
697 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6, const
ex & param7, const
ex & param8, const
ex & param9, const
ex & param10, const
ex & param11, const
ex & param12, const
ex & param13);
698 function(
unsigned ser, const
ex & param1, const
ex & param2, const
ex & param3, const
ex & param4, const
ex & param5, const
ex & param6, const
ex & param7, const
ex & param8, const
ex & param9, const
ex & param10, const
ex & param11, const
ex & param12, const
ex & param13, const
ex & param14);
721 bool info(
unsigned inf)
const override;
743 static unsigned find_function(
const std::string &name,
unsigned nparams);
757 template <
typename T>
760 return is_exactly_a<function>(
x)
761 && ex_to<function>(
x).get_serial() == T::serial;
765 #define is_ex_the_function(OBJ, FUNCNAME) (GiNaC::is_the_function<FUNCNAME##_SERIAL>(OBJ))
769 #endif // ndef GINAC_FUNCTION_H
function_options & power_func(power_funcp_1 e)
function_options & print_func(print_funcp_1 p)
bool is_equal_same_type(const basic &other) const override
Returns true if two objects of same type are equal.
bool match_same_type(const basic &other) const override
Returns true if the attributes of two objects are similar enough for a match.
ex(* power_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* imag_part_funcp_3)(const ex &, const ex &, const ex &)
function_options & print_func(print_funcp_9 p)
void(* print_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
ex(* conjugate_funcp_4)(const ex &, const ex &, const ex &, const ex &)
ex(* conjugate_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & info_func(info_funcp_1 e)
bool real_part_use_exvector_args
ex(* imag_part_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
unsigned remember_strategy
ex(* expl_derivative_funcp_3)(const ex &, const ex &, const ex &, const symbol &)
Definition of GiNaC's exprseq.
void(* print_funcp_3)(const ex &, const ex &, const ex &, const print_context &)
ex conjugate() const override
Implementation of ex::conjugate for functions.
ex(* derivative_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* real_part_funcp_1)(const ex &)
ex(* expl_derivative_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
ex(* derivative_funcp_3)(const ex &, const ex &, const ex &, unsigned)
expl_derivative_funcp expl_derivative_f
bool(* info_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
function_options & print_func(print_funcp_8 p)
ex(* expand_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* evalf_funcp_exvector)(const exvector &)
ex(* eval_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
bool(* info_funcp_4)(const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* power_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
static unsigned find_function(const std::string &name, unsigned nparams)
Find serial number of function by name and number of parameters.
function_options & set_name(std::string const &n, std::string const &tn=std::string())
ex(* eval_funcp_3)(const ex &, const ex &, const ex &)
ex(* series_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex real_part() const override
Implementation of ex::real_part for functions.
ex(* expand_funcp_4)(const ex &, const ex &, const ex &, const ex &, unsigned)
ex derivative(const symbol &s) const override
Implementation of ex::diff() for functions.
This class holds a relation consisting of two expressions and a logical relation between them.
ex(* imag_part_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Exception class thrown by classes which provide their own series expansion to signal that ordinary Ta...
ex(* derivative_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
bool eval_use_exvector_args
Base class for print_contexts.
ex(* series_funcp_3)(const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex(* eval_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
void print(const print_context &c, unsigned level=0) const override
Output to stream.
@ delete_never
Let table grow undefinitely.
void(* print_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
ex(* real_part_funcp_2)(const ex &, const ex &)
bool(* info_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* real_part_funcp_3)(const ex &, const ex &, const ex &)
ex(* series_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex(* derivative_funcp_1)(const ex &, unsigned)
ex(* series_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex(* real_part_funcp_exvector)(const exvector &)
function_options & print_func(print_funcp_11 p)
ex(* power_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & print_func(print_funcp_10 p)
ex(* imag_part_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* evalf_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
std::vector< ex > exvector
bool(* info_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* derivative_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* expl_derivative_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
ex(* expl_derivative_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
ex(* derivative_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* derivative_funcp_2)(const ex &, const ex &, unsigned)
ex(* imag_part_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* imag_part_funcp_2)(const ex &, const ex &)
ex(* evalf_funcp_3)(const ex &, const ex &, const ex &)
ex(* derivative_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* expl_derivative_funcp_2)(const ex &, const ex &, const symbol &)
void(* print_funcp_4)(const ex &, const ex &, const ex &, const ex &, const print_context &)
This class stores all properties needed to record/retrieve the state of one object of class basic (or...
ex(* imag_part_funcp_exvector)(const exvector &)
ex thiscontainer(const exvector &v) const override
ex(* derivative_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* expand_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* expl_derivative_funcp_4)(const ex &, const ex &, const ex &, const ex &, const symbol &)
bool has_derivative() const
bool power_use_exvector_args
bool imag_part_use_exvector_args
void(* print_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
ex(* real_part_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* power_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* expand_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
function_options & print_func(print_funcp_3 p)
ex(* real_part_funcp_4)(const ex &, const ex &, const ex &, const ex &)
ex(* power_funcp_exvector)(const exvector &, const ex &)
ex(* expand_funcp_1)(const ex &, unsigned)
GINAC_DECLARE_UNARCHIVER(add)
ex(* power_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & evalf_func(evalf_funcp_1 e)
ex(* eval_funcp_exvector)(const exvector &)
ex(* conjugate_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* evalf_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
bool expand_use_exvector_args
ex(* series_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex(* expand_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* imag_part_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* evalf_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* expl_derivative_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
void(* print_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
void(* print_funcp_2)(const ex &, const ex &, const print_context &)
bool(* info_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* evalf_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* derivative_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
unsigned return_type() const override
ex(* series_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
function_options & print_func(print_funcp_13 p)
ex eval() const override
Perform automatic non-interruptive term rewriting rules.
bool info_use_exvector_args
function_options & series_func(series_funcp_1 e)
ex(* evalf_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
void store_remember_table(ex const &result) const
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.
ex(* conjugate_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* eval_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* expl_derivative_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
bool evalf_use_exvector_args
ex(* power_funcp_2)(const ex &, const ex &, const ex &)
ex(* expand_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
function_options & derivative_func(derivative_funcp_1 e)
ex(* real_part_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
Lightweight wrapper for GiNaC's symbolic objects.
ex(* expl_derivative_funcp_exvector)(const exvector &, const symbol &)
ex(* evalf_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* expand_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* expand_funcp_2)(const ex &, const ex &, unsigned)
ex(* imag_part_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
unsigned get_serial() const
void archive(archive_node &n) const override
Archive the object.
ex(* imag_part_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex series(const relational &r, int order, unsigned options=0) const override
Implementation of ex::series for functions.
ex(* power_funcp_3)(const ex &, const ex &, const ex &, const ex &)
ex(* power_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & set_symmetry(const symmetry &s)
bool(* info_funcp_2)(const ex &, const ex &, unsigned)
unsigned functions_with_same_name
void test_and_set_nparams(unsigned n)
ex(* conjugate_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & latex_name(std::string const &tn)
ex(* expl_derivative_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
static std::vector< function_options > get_registered_functions()
const numeric exp(const numeric &x)
Exponential function.
derivative_funcp derivative_f
This class represents the (abstract) derivative of a symbolic function.
ex(* series_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex(* eval_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex eval_ncmul(const exvector &v) const override
This method is defined to be in line with behavior of function::return_type()
ex(* eval_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
bool info(unsigned inf) const override
Implementation of ex::info for functions.
function_options & expl_derivative_func(expl_derivative_funcp_1 e)
function_options & print_func(print_funcp_7 p)
ex(* eval_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
void(* print_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
ex(* real_part_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & set_return_type(unsigned rt, const return_type_t *rtt=nullptr)
ex(* evalf_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* real_part_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
real_part_funcp real_part_f
static std::vector< function_options > & registered_functions()
The class function is used to implement builtin functions like sin, cos...
ex(* series_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
function_options & imag_part_func(imag_part_funcp_1 e)
bool(* info_funcp_exvector)(const exvector &, unsigned)
ex(* conjugate_funcp_3)(const ex &, const ex &, const ex &)
ex(* series_funcp_1)(const ex &, const relational &, int, unsigned)
function_options & print_func(print_funcp_12 p)
To distinguish between different kinds of non-commutative objects.
ex(* imag_part_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & dummy()
ex(* eval_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex evalf() const override
Evaluate object numerically.
bool(* info_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* expl_derivative_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
ex(* series_funcp_2)(const ex &, const ex &, const relational &, int, unsigned)
ex(* real_part_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* power_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
bool derivative_use_exvector_args
ex(* conjugate_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* evalf_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
bool lookup_remember_table(ex &result) const
A single entry in the remember table of a function.
ex(* expand_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
bool(* info_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* derivative_funcp_4)(const ex &, const ex &, const ex &, const ex &, unsigned)
bool print_use_exvector_args
ex(* real_part_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
void read_archive(const archive_node &n, lst &syms) override
Construct object from archive_node.
ex(* evalf_funcp_4)(const ex &, const ex &, const ex &, const ex &)
ex(* series_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
void(* print_funcp_1)(const ex &, const print_context &)
ex(* derivative_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex power(const ex &exp) const
ex(* evalf_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Wrapper template for making GiNaC classes out of STL containers.
ex(* derivative_funcp_exvector)(const exvector &, unsigned)
unsigned precedence() const override
Return relative operator precedence (for parenthezing output).
function_options & print_func(print_funcp_2 p)
ex pderivative(unsigned diff_param) const
ex(* imag_part_funcp_1)(const ex &)
bool(* info_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
bool expl_derivative_use_exvector_args
ex(* expl_derivative_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
function_options & real_part_func(real_part_funcp_1 e)
ex(* expl_derivative_funcp_1)(const ex &, const symbol &)
ex(* eval_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
void(* print_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
static unsigned current_serial
This can be used as a hook for external applications.
void set_print_func(unsigned id, print_funcp f)
ex(* real_part_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & print_func(print_funcp_4 p)
ex(* evalf_funcp_1)(const ex &)
function_options & conjugate_func(conjugate_funcp_1 e)
imag_part_funcp imag_part_f
This class describes the symmetry of a group of indices.
ex(* conjugate_funcp_exvector)(const exvector &)
ex(* evalf_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* series_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex(* expand_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* real_part_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & do_not_evalf_params()
ex(* conjugate_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* expand_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* imag_part_funcp_4)(const ex &, const ex &, const ex &, const ex &)
ex(* expl_derivative_funcp)()
unsigned calchash() const override
Compute the hash value of an object and if it makes sense to store it in the objects status_flags,...
ex(* conjugate_funcp_1)(const ex &)
static unsigned register_new(function_options const &opt)
This class is the ABC (abstract base class) of GiNaC's class hierarchy.
ex(* conjugate_funcp_2)(const ex &, const ex &)
void(* print_funcp_exvector)(const exvector &, const print_context &)
unsigned get_nparams() const
ex(* evalf_funcp_2)(const ex &, const ex &)
ex(* conjugate_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* series_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex(* imag_part_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* power_funcp_4)(const ex &, const ex &, const ex &, const ex &, const ex &)
bool(* info_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* eval_funcp_4)(const ex &, const ex &, const ex &, const ex &)
bool series_use_exvector_args
std::string get_name() const
ex(* eval_funcp_1)(const ex &)
function_options & eval_func(eval_funcp_1 e)
ex imag_part() const override
Implementation of ex::imag_part for functions.
ex(* conjugate_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
bool(* info_funcp_1)(const ex &, unsigned)
ex(* power_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* expand_funcp_3)(const ex &, const ex &, const ex &, unsigned)
void(* print_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
bool(* info_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
void(* print_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
ex(* series_funcp_exvector)(const exvector &, const relational &, int, unsigned)
ex(* eval_funcp_2)(const ex &, const ex &)
ex(* expl_derivative_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
ex(* series_funcp_4)(const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
ex(* real_part_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & print_func(print_funcp_14 p)
ex(* expand_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
ex(* power_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
std::vector< print_funcp > print_dispatch_table
ex(* expl_derivative_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
function_options & print_func(print_funcp_5 p)
ex expl_derivative(const symbol &s) const
ex(* imag_part_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
bool(* info_funcp_3)(const ex &, const ex &, const ex &, unsigned)
void(* print_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
ex(* expand_funcp_exvector)(const exvector &, unsigned)
std::string get_name() const
Return the print name of the function.
bool conjugate_use_exvector_args
ex(* power_funcp_1)(const ex &, const ex &)
ex(* conjugate_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* power_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex(* conjugate_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
function_options & print_func(print_funcp_6 p)
return_type_t return_type_tinfo
function_options & remember(unsigned size, unsigned assoc_size=0, unsigned strategy=remember_strategies::delete_never)
ex(* real_part_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
bool(* info_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
return_type_t return_type_tinfo() const override
conjugate_funcp conjugate_f
function_options & expand_func(expand_funcp_1 e)
bool is_the_function(const ex &x)
function_options & overloaded(unsigned o)
unsigned remember_assoc_size
ex(* eval_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
ex expand(unsigned options=0) const override
Expand expression, i.e.
ex(* derivative_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
function_options & print_func(print_funcp_exvector p)
ex(* eval_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
void(* print_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
ex(* derivative_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
This page is part of the GiNaC
developer's reference. It was generated automatically by doxygen. For
an introduction, see the tutorial.