GiNaC 1.8.10
function.h
Go to the documentation of this file.
1
5/*
6 * This file was generated automatically from function.hppy.
7 * Please do not modify it directly, edit function.hppy instead!
8 *
9 * GiNaC Copyright (C) 1999-2026 Johannes Gutenberg University Mainz, Germany
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program. If not, see <https://www.gnu.org/licenses/>.
23 */
24
25#ifndef GINAC_FUNCTION_H
26#define GINAC_FUNCTION_H
27
28#include "exprseq.h"
29
30#include <string>
31#include <vector>
32
33#define DECLARE_FUNCTION_1P(NAME) \
34class NAME##_SERIAL { public: static unsigned serial; }; \
35const unsigned NAME##_NPARAMS = 1; \
36template< typename T1 > const GiNaC::function NAME( const T1 & p1 ) { \
37 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1) ); \
38}
39#define DECLARE_FUNCTION_2P(NAME) \
40class NAME##_SERIAL { public: static unsigned serial; }; \
41const unsigned NAME##_NPARAMS = 2; \
42template< typename T1, typename T2 > const GiNaC::function NAME( const T1 & p1, const T2 & p2 ) { \
43 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2) ); \
44}
45#define DECLARE_FUNCTION_3P(NAME) \
46class NAME##_SERIAL { public: static unsigned serial; }; \
47const unsigned NAME##_NPARAMS = 3; \
48template< typename T1, typename T2, typename T3 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3 ) { \
49 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3) ); \
50}
51#define DECLARE_FUNCTION_4P(NAME) \
52class NAME##_SERIAL { public: static unsigned serial; }; \
53const unsigned NAME##_NPARAMS = 4; \
54template< typename T1, typename T2, typename T3, typename T4 > const GiNaC::function NAME( const T1 & p1, const T2 & p2, const T3 & p3, const T4 & p4 ) { \
55 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4) ); \
56}
57#define DECLARE_FUNCTION_5P(NAME) \
58class NAME##_SERIAL { public: static unsigned serial; }; \
59const unsigned NAME##_NPARAMS = 5; \
60template< 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 ) { \
61 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5) ); \
62}
63#define DECLARE_FUNCTION_6P(NAME) \
64class NAME##_SERIAL { public: static unsigned serial; }; \
65const unsigned NAME##_NPARAMS = 6; \
66template< 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 ) { \
67 return GiNaC::function(NAME##_SERIAL::serial, GiNaC::ex(p1), GiNaC::ex(p2), GiNaC::ex(p3), GiNaC::ex(p4), GiNaC::ex(p5), GiNaC::ex(p6) ); \
68}
69#define DECLARE_FUNCTION_7P(NAME) \
70class NAME##_SERIAL { public: static unsigned serial; }; \
71const unsigned NAME##_NPARAMS = 7; \
72template< 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 ) { \
73 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) ); \
74}
75#define DECLARE_FUNCTION_8P(NAME) \
76class NAME##_SERIAL { public: static unsigned serial; }; \
77const unsigned NAME##_NPARAMS = 8; \
78template< 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 ) { \
79 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) ); \
80}
81#define DECLARE_FUNCTION_9P(NAME) \
82class NAME##_SERIAL { public: static unsigned serial; }; \
83const unsigned NAME##_NPARAMS = 9; \
84template< 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 ) { \
85 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) ); \
86}
87#define DECLARE_FUNCTION_10P(NAME) \
88class NAME##_SERIAL { public: static unsigned serial; }; \
89const unsigned NAME##_NPARAMS = 10; \
90template< 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 ) { \
91 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) ); \
92}
93#define DECLARE_FUNCTION_11P(NAME) \
94class NAME##_SERIAL { public: static unsigned serial; }; \
95const unsigned NAME##_NPARAMS = 11; \
96template< 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 ) { \
97 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) ); \
98}
99#define DECLARE_FUNCTION_12P(NAME) \
100class NAME##_SERIAL { public: static unsigned serial; }; \
101const unsigned NAME##_NPARAMS = 12; \
102template< 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 ) { \
103 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) ); \
104}
105#define DECLARE_FUNCTION_13P(NAME) \
106class NAME##_SERIAL { public: static unsigned serial; }; \
107const unsigned NAME##_NPARAMS = 13; \
108template< 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 ) { \
109 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) ); \
110}
111#define DECLARE_FUNCTION_14P(NAME) \
112class NAME##_SERIAL { public: static unsigned serial; }; \
113const unsigned NAME##_NPARAMS = 14; \
114template< 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 ) { \
115 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) ); \
116}
117// end of generated lines
118
119#define REGISTER_FUNCTION(NAME,OPT) \
120unsigned NAME##_SERIAL::serial = \
121 GiNaC::function::register_new(GiNaC::function_options(#NAME, NAME##_NPARAMS).OPT);
122
123namespace GiNaC {
124
125class function;
126class symmetry;
127
128typedef ex (* eval_funcp)();
129typedef ex (* evalf_funcp)();
130typedef ex (* conjugate_funcp)();
131typedef ex (* real_part_funcp)();
132typedef ex (* imag_part_funcp)();
133typedef ex (* expand_funcp)();
134typedef ex (* derivative_funcp)();
136typedef ex (* power_funcp)();
137typedef ex (* series_funcp)();
138typedef void (* print_funcp)();
139typedef bool (* info_funcp)();
140
141// the following lines have been generated for max. 14 parameters
142typedef ex (* eval_funcp_1)( const ex & );
143typedef ex (* evalf_funcp_1)( const ex & );
144typedef ex (* conjugate_funcp_1)( const ex & );
145typedef ex (* real_part_funcp_1)( const ex & );
146typedef ex (* imag_part_funcp_1)( const ex & );
147typedef ex (* expand_funcp_1)( const ex &, unsigned );
148typedef ex (* derivative_funcp_1)( const ex &, unsigned );
149typedef ex (* expl_derivative_funcp_1)( const ex &, const symbol & );
150typedef ex (* power_funcp_1)( const ex &, const ex & );
151typedef ex (* series_funcp_1)( const ex &, const relational &, int, unsigned );
152typedef void (* print_funcp_1)( const ex &, const print_context & );
153typedef bool (* info_funcp_1)( const ex &, unsigned );
154typedef ex (* eval_funcp_2)( const ex &, const ex & );
155typedef ex (* evalf_funcp_2)( const ex &, const ex & );
156typedef ex (* conjugate_funcp_2)( const ex &, const ex & );
157typedef ex (* real_part_funcp_2)( const ex &, const ex & );
158typedef ex (* imag_part_funcp_2)( const ex &, const ex & );
159typedef ex (* expand_funcp_2)( const ex &, const ex &, unsigned );
160typedef ex (* derivative_funcp_2)( const ex &, const ex &, unsigned );
161typedef ex (* expl_derivative_funcp_2)( const ex &, const ex &, const symbol & );
162typedef ex (* power_funcp_2)( const ex &, const ex &, const ex & );
163typedef ex (* series_funcp_2)( const ex &, const ex &, const relational &, int, unsigned );
164typedef void (* print_funcp_2)( const ex &, const ex &, const print_context & );
165typedef bool (* info_funcp_2)( const ex &, const ex &, unsigned );
166typedef ex (* eval_funcp_3)( const ex &, const ex &, const ex & );
167typedef ex (* evalf_funcp_3)( const ex &, const ex &, const ex & );
168typedef ex (* conjugate_funcp_3)( const ex &, const ex &, const ex & );
169typedef ex (* real_part_funcp_3)( const ex &, const ex &, const ex & );
170typedef ex (* imag_part_funcp_3)( const ex &, const ex &, const ex & );
171typedef ex (* expand_funcp_3)( const ex &, const ex &, const ex &, unsigned );
172typedef ex (* derivative_funcp_3)( const ex &, const ex &, const ex &, unsigned );
173typedef ex (* expl_derivative_funcp_3)( const ex &, const ex &, const ex &, const symbol & );
174typedef ex (* power_funcp_3)( const ex &, const ex &, const ex &, const ex & );
175typedef ex (* series_funcp_3)( const ex &, const ex &, const ex &, const relational &, int, unsigned );
176typedef void (* print_funcp_3)( const ex &, const ex &, const ex &, const print_context & );
177typedef bool (* info_funcp_3)( const ex &, const ex &, const ex &, unsigned );
178typedef ex (* eval_funcp_4)( const ex &, const ex &, const ex &, const ex & );
179typedef ex (* evalf_funcp_4)( const ex &, const ex &, const ex &, const ex & );
180typedef ex (* conjugate_funcp_4)( const ex &, const ex &, const ex &, const ex & );
181typedef ex (* real_part_funcp_4)( const ex &, const ex &, const ex &, const ex & );
182typedef ex (* imag_part_funcp_4)( const ex &, const ex &, const ex &, const ex & );
183typedef ex (* expand_funcp_4)( const ex &, const ex &, const ex &, const ex &, unsigned );
184typedef ex (* derivative_funcp_4)( const ex &, const ex &, const ex &, const ex &, unsigned );
185typedef ex (* expl_derivative_funcp_4)( const ex &, const ex &, const ex &, const ex &, const symbol & );
186typedef ex (* power_funcp_4)( const ex &, const ex &, const ex &, const ex &, const ex & );
187typedef ex (* series_funcp_4)( const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned );
188typedef void (* print_funcp_4)( const ex &, const ex &, const ex &, const ex &, const print_context & );
189typedef bool (* info_funcp_4)( const ex &, const ex &, const ex &, const ex &, unsigned );
190typedef ex (* eval_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex & );
191typedef ex (* evalf_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex & );
192typedef ex (* conjugate_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex & );
193typedef ex (* real_part_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex & );
194typedef ex (* imag_part_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex & );
195typedef ex (* expand_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
196typedef ex (* derivative_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
197typedef ex (* expl_derivative_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex &, const symbol & );
198typedef ex (* power_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
199typedef ex (* series_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned );
200typedef void (* print_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex &, const print_context & );
201typedef bool (* info_funcp_5)( const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
202typedef ex (* eval_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
203typedef ex (* evalf_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
204typedef ex (* conjugate_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
205typedef ex (* real_part_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
206typedef ex (* imag_part_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
207typedef ex (* expand_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
208typedef ex (* derivative_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
209typedef ex (* expl_derivative_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol & );
210typedef ex (* power_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
211typedef ex (* series_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned );
212typedef void (* print_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context & );
213typedef bool (* info_funcp_6)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
214typedef ex (* eval_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
215typedef ex (* evalf_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
216typedef ex (* conjugate_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
217typedef ex (* real_part_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
218typedef ex (* imag_part_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
219typedef ex (* expand_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
220typedef ex (* derivative_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
221typedef ex (* expl_derivative_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol & );
222typedef ex (* power_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
223typedef ex (* series_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned );
224typedef void (* print_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context & );
225typedef bool (* info_funcp_7)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
226typedef ex (* eval_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
227typedef ex (* evalf_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
228typedef ex (* conjugate_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
229typedef ex (* real_part_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
230typedef ex (* imag_part_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
231typedef ex (* expand_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
232typedef ex (* derivative_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
233typedef ex (* expl_derivative_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol & );
234typedef ex (* power_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
235typedef ex (* series_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned );
236typedef void (* print_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context & );
237typedef bool (* info_funcp_8)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
238typedef ex (* eval_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
239typedef ex (* evalf_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
240typedef ex (* conjugate_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
241typedef ex (* real_part_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
242typedef ex (* imag_part_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
243typedef ex (* expand_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
244typedef ex (* derivative_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
245typedef 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 & );
246typedef ex (* power_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
247typedef 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 );
248typedef 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 & );
249typedef bool (* info_funcp_9)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned );
250typedef ex (* eval_funcp_10)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
251typedef ex (* evalf_funcp_10)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
252typedef ex (* conjugate_funcp_10)( const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex & );
253typedef 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 & );
254typedef 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 & );
255typedef 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 );
256typedef 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 );
257typedef 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 & );
258typedef 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 & );
259typedef 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 );
260typedef 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 & );
261typedef 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 );
262typedef 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 & );
263typedef 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 & );
264typedef 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 & );
265typedef 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 & );
266typedef 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 & );
267typedef 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 );
268typedef 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 );
269typedef 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 & );
270typedef 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 & );
271typedef 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 );
272typedef 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 & );
273typedef 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 );
274typedef 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 & );
275typedef 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 & );
276typedef 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 & );
277typedef 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 & );
278typedef 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 & );
279typedef 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 );
280typedef 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 );
281typedef 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 & );
282typedef 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 & );
283typedef 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 );
284typedef 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 & );
285typedef 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 );
286typedef 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 & );
287typedef 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 & );
288typedef 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 & );
289typedef 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 & );
290typedef 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 & );
291typedef 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 );
292typedef 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 );
293typedef 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 & );
294typedef 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 & );
295typedef 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 );
296typedef 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 & );
297typedef 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 );
298typedef 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 & );
299typedef 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 & );
300typedef 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 & );
301typedef 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 & );
302typedef 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 & );
303typedef 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 );
304typedef 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 );
305typedef 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 & );
306typedef 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 & );
307typedef 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 );
308typedef 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 & );
309typedef 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 );
310// end of generated lines
311
312// Alternatively, an exvector may be passed into the static function, instead
313// of individual ex objects. Then, the number of arguments is not limited.
314typedef ex (* eval_funcp_exvector)(const exvector &);
315typedef ex (* evalf_funcp_exvector)(const exvector &);
319typedef ex (* expand_funcp_exvector)(const exvector &, unsigned);
320typedef ex (* derivative_funcp_exvector)(const exvector &, unsigned);
321typedef ex (* expl_derivative_funcp_exvector)(const exvector &, const symbol &);
322typedef ex (* power_funcp_exvector)(const exvector &, const ex &);
323typedef ex (* series_funcp_exvector)(const exvector &, const relational &, int, unsigned);
324typedef void (* print_funcp_exvector)(const exvector &, const print_context &);
325typedef bool (* info_funcp_exvector)(const exvector &, unsigned);
326
327
329{
330 friend class function;
331 friend class fderivative;
332public:
334 function_options(std::string const & n, std::string const & tn=std::string());
335 function_options(std::string const & n, unsigned np);
337 void initialize();
338
339 function_options & dummy() { return *this; }
340 function_options & set_name(std::string const & n, std::string const & tn=std::string());
341 function_options & latex_name(std::string const & tn);
342 // following lines have been generated for max. 14 parameters
508 template <class Ctx> function_options & print_func(print_funcp_1 p)
509 {
511 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
512 return *this;
513 }
514 template <class Ctx> function_options & print_func(print_funcp_2 p)
515 {
517 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
518 return *this;
519 }
520 template <class Ctx> function_options & print_func(print_funcp_3 p)
521 {
523 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
524 return *this;
525 }
526 template <class Ctx> function_options & print_func(print_funcp_4 p)
527 {
529 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
530 return *this;
531 }
532 template <class Ctx> function_options & print_func(print_funcp_5 p)
533 {
535 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
536 return *this;
537 }
538 template <class Ctx> function_options & print_func(print_funcp_6 p)
539 {
541 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
542 return *this;
543 }
544 template <class Ctx> function_options & print_func(print_funcp_7 p)
545 {
547 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
548 return *this;
549 }
550 template <class Ctx> function_options & print_func(print_funcp_8 p)
551 {
553 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
554 return *this;
555 }
556 template <class Ctx> function_options & print_func(print_funcp_9 p)
557 {
559 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
560 return *this;
561 }
563 {
565 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
566 return *this;
567 }
569 {
571 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
572 return *this;
573 }
575 {
577 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
578 return *this;
579 }
581 {
583 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
584 return *this;
585 }
587 {
589 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
590 return *this;
591 }
592 // end of generated lines
593
595 {
597 set_print_func(Ctx::get_class_info_static().options.get_id(), print_funcp(p));
598 return *this;
599 }
600
601 function_options & set_return_type(unsigned rt, const return_type_t* rtt = nullptr);
603 function_options & remember(unsigned size, unsigned assoc_size=0,
605 function_options & overloaded(unsigned o);
607
608 std::string get_name() const { return name; }
609 unsigned get_nparams() const { return nparams; }
610
611protected:
612 bool has_derivative() const { return derivative_f != nullptr; }
613 bool has_power() const { return power_f != nullptr; }
614 void test_and_set_nparams(unsigned n);
615 void set_print_func(unsigned id, print_funcp f);
616
617 std::string name;
618 std::string TeX_name;
619
620 unsigned nparams;
621
632 std::vector<print_funcp> print_dispatch_table;
634
636
638 unsigned return_type;
640
645
658
660
662};
663
664
667class do_taylor {};
668
669
672class function : public exprseq
673{
675
677
678// member functions
679
680 // other constructors
681public:
682 function(unsigned ser);
683 // the following lines have been generated for max. 14 parameters
684 function(unsigned ser, const ex & param1);
685 function(unsigned ser, const ex & param1, const ex & param2);
686 function(unsigned ser, const ex & param1, const ex & param2, const ex & param3);
687 function(unsigned ser, const ex & param1, const ex & param2, const ex & param3, const ex & param4);
688 function(unsigned ser, const ex & param1, const ex & param2, const ex & param3, const ex & param4, const ex & param5);
689 function(unsigned ser, const ex & param1, const ex & param2, const ex & param3, const ex & param4, const ex & param5, const ex & param6);
690 function(unsigned ser, const ex & param1, const ex & param2, const ex & param3, const ex & param4, const ex & param5, const ex & param6, const ex & param7);
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, const ex & param8);
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, const ex & param9);
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, const ex & param10);
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, const ex & param11);
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, const ex & param12);
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, const ex & param13);
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, const ex & param14);
698 // end of generated lines
699 function(unsigned ser, const exprseq & es);
700 function(unsigned ser, const exvector & v);
701 function(unsigned ser, exvector && v);
702
703 // functions overriding virtual functions from base classes
704public:
705 void print(const print_context & c, unsigned level = 0) const override;
706 unsigned precedence() const override {return 70;}
707 ex expand(unsigned options=0) const override;
708 ex eval() const override;
709 ex evalf() const override;
710 ex eval_ncmul(const exvector & v) const override;
711 unsigned calchash() const override;
712 ex series(const relational & r, int order, unsigned options = 0) const override;
713 ex thiscontainer(const exvector & v) const override;
714 ex thiscontainer(exvector && v) const override;
715 ex conjugate() const override;
716 ex real_part() const override;
717 ex imag_part() const override;
718 void archive(archive_node& n) const override;
719 void read_archive(const archive_node& n, lst& syms) override;
720 bool info(unsigned inf) const override;
721protected:
722 ex derivative(const symbol & s) const override;
723 bool is_equal_same_type(const basic & other) const override;
724 bool match_same_type(const basic & other) const override;
725 unsigned return_type() const override;
726 return_type_t return_type_tinfo() const override;
727
728 // new virtual functions which can be overridden by derived classes
729 // none
730
731 // non-virtual functions in this class
732protected:
733 ex pderivative(unsigned diff_param) const; // partial differentiation
734 ex expl_derivative(const symbol & s) const; // partial differentiation
735 static std::vector<function_options> & registered_functions();
736 bool lookup_remember_table(ex & result) const;
737 void store_remember_table(ex const & result) const;
738public:
739 ex power(const ex & exp) const;
740 static unsigned register_new(function_options const & opt);
741 static unsigned current_serial;
742 static unsigned find_function(const std::string &name, unsigned nparams);
743 static std::vector<function_options> get_registered_functions() { return registered_functions(); };
744 unsigned get_serial() const {return serial;}
745 std::string get_name() const;
746
747// member variables
748
749protected:
750 unsigned serial;
751};
753
754// utility functions/macros
755
756template <typename T>
757inline bool is_the_function(const ex & x)
758{
759 return is_exactly_a<function>(x)
760 && ex_to<function>(x).get_serial() == T::serial;
761}
762
763// Check whether OBJ is the specified symbolic function.
764#define is_ex_the_function(OBJ, FUNCNAME) (GiNaC::is_the_function<FUNCNAME##_SERIAL>(OBJ))
765
766} // namespace GiNaC
767
768#endif // ndef GINAC_FUNCTION_H
769
#define GINAC_DECLARE_UNARCHIVER(classname)
Helper macros to register a class with (un)archiving (a.k.a.
Definition archive.h:218
This class stores all properties needed to record/retrieve the state of one object of class basic (or...
Definition archive.h:48
This class holds archived versions of GiNaC expressions (class ex).
Definition archive.h:254
This class is the ABC (abstract base class) of GiNaC's class hierarchy.
Definition basic.h:104
Wrapper template for making GiNaC classes out of STL containers.
Definition container.h:72
Exception class thrown by classes which provide their own series expansion to signal that ordinary Ta...
Definition function.h:667
Lightweight wrapper for GiNaC's symbolic objects.
Definition ex.h:72
This class represents the (abstract) derivative of a symbolic function.
Definition fderivative.h:37
function_options & info_func(info_funcp_1 e)
Definition function.cpp:959
function_options & overloaded(unsigned o)
function_options & set_name(std::string const &n, std::string const &tn=std::string())
Definition function.cpp:101
function_options & set_symmetry(const symmetry &s)
function_options & print_func(print_funcp_5 p)
Definition function.h:532
expl_derivative_funcp expl_derivative_f
Definition function.h:629
function_options & print_func(print_funcp_12 p)
Definition function.h:574
std::vector< print_funcp > print_dispatch_table
Definition function.h:632
std::string get_name() const
Definition function.h:608
unsigned functions_with_same_name
Definition function.h:659
conjugate_funcp conjugate_f
Definition function.h:624
function_options & set_return_type(unsigned rt, const return_type_t *rtt=nullptr)
function_options & remember(unsigned size, unsigned assoc_size=0, unsigned strategy=remember_strategies::delete_never)
function_options & print_func(print_funcp_4 p)
Definition function.h:526
function_options & print_func(print_funcp_14 p)
Definition function.h:586
bool has_power() const
Definition function.h:613
function_options & eval_func(eval_funcp_1 e)
Definition function.cpp:119
function_options & power_func(power_funcp_1 e)
Definition function.cpp:791
unsigned remember_assoc_size
Definition function.h:643
function_options & evalf_func(evalf_funcp_1 e)
Definition function.cpp:203
function_options & conjugate_func(conjugate_funcp_1 e)
Definition function.cpp:287
function_options & real_part_func(real_part_funcp_1 e)
Definition function.cpp:371
function_options & print_func(print_funcp_6 p)
Definition function.h:538
function_options & print_func(print_funcp_1 p)
Definition function.h:508
bool has_derivative() const
Definition function.h:612
return_type_t return_type_tinfo
Definition function.h:639
void test_and_set_nparams(unsigned n)
imag_part_funcp imag_part_f
Definition function.h:626
void set_print_func(unsigned id, print_funcp f)
function_options & print_func(print_funcp_13 p)
Definition function.h:580
function_options & print_func(print_funcp_3 p)
Definition function.h:520
function_options & dummy()
Definition function.h:339
real_part_funcp real_part_f
Definition function.h:625
function_options & expand_func(expand_funcp_1 e)
Definition function.cpp:539
series_funcp series_f
Definition function.h:631
function_options & print_func(print_funcp_7 p)
Definition function.h:544
function_options & expl_derivative_func(expl_derivative_funcp_1 e)
Definition function.cpp:707
function_options & do_not_evalf_params()
bool expl_derivative_use_exvector_args
Definition function.h:653
function_options & print_func(print_funcp_8 p)
Definition function.h:550
unsigned get_nparams() const
Definition function.h:609
function_options & print_func(print_funcp_9 p)
Definition function.h:556
function_options & latex_name(std::string const &tn)
Definition function.cpp:112
derivative_funcp derivative_f
Definition function.h:628
function_options & series_func(series_funcp_1 e)
Definition function.cpp:875
function_options & imag_part_func(imag_part_funcp_1 e)
Definition function.cpp:455
expand_funcp expand_f
Definition function.h:627
function_options & print_func(print_funcp_exvector p)
Definition function.h:594
function_options & print_func(print_funcp_11 p)
Definition function.h:568
function_options & derivative_func(derivative_funcp_1 e)
Definition function.cpp:623
function_options & print_func(print_funcp_10 p)
Definition function.h:562
function_options & print_func(print_funcp_2 p)
Definition function.h:514
The class function is used to implement builtin functions like sin, cos... and user defined functions...
Definition function.h:673
bool match_same_type(const basic &other) const override
Returns true if the attributes of two objects are similar enough for a match.
unsigned calchash() const override
Compute the hash value of an object and if it makes sense to store it in the objects status_flags,...
return_type_t return_type_tinfo() const override
void store_remember_table(ex const &result) const
ex imag_part() const override
Implementation of ex::imag_part for functions.
ex evalf() const override
Evaluate object numerically.
ex eval_ncmul(const exvector &v) const override
This method is defined to be in line with behavior of function::return_type()
static std::vector< function_options > get_registered_functions()
Definition function.h:743
ex derivative(const symbol &s) const override
Implementation of ex::diff() for functions.
ex thiscontainer(const exvector &v) const override
bool is_equal_same_type(const basic &other) const override
Returns true if two objects of same type are equal.
bool info(unsigned inf) const override
Implementation of ex::info for functions.
std::string get_name() const
Return the print name of the function.
static unsigned register_new(function_options const &opt)
unsigned serial
Definition function.h:750
bool lookup_remember_table(ex &result) const
unsigned get_serial() const
Definition function.h:744
static unsigned find_function(const std::string &name, unsigned nparams)
Find serial number of function by name and number of parameters.
ex series(const relational &r, int order, unsigned options=0) const override
Implementation of ex::series for functions.
static std::vector< function_options > & registered_functions()
ex eval() const override
Perform automatic non-interruptive term rewriting rules.
ex real_part() const override
Implementation of ex::real_part for functions.
static unsigned current_serial
This can be used as a hook for external applications.
Definition function.h:741
ex conjugate() const override
Implementation of ex::conjugate for functions.
ex expl_derivative(const symbol &s) const
void print(const print_context &c, unsigned level=0) const override
Output to stream.
void read_archive(const archive_node &n, lst &syms) override
Construct object from archive_node.
ex expand(unsigned options=0) const override
Expand expression, i.e.
unsigned precedence() const override
Return relative operator precedence (for parenthezing output).
Definition function.h:706
unsigned return_type() const override
ex pderivative(unsigned diff_param) const
This class holds a two-component object, a basis and and exponent representing exponentiation.
Definition power.h:38
Base class for print_contexts.
Definition print.h:101
This class holds a relation consisting of two expressions and a logical relation between them.
Definition relational.h:34
@ delete_never
Let table grow undefinitely.
Definition flags.h:290
A single entry in the remember table of a function.
Definition remember.h:39
Basic CAS symbol.
Definition symbol.h:38
This class describes the symmetry of a group of indices.
Definition symmetry.h:38
Definition of GiNaC's exprseq.
unsigned options
Definition factor.cpp:2473
size_t n
Definition factor.cpp:1431
size_t c
Definition factor.cpp:756
ex x
Definition factor.cpp:1609
size_t r
Definition factor.cpp:756
exset syms
Definition factor.cpp:2427
Definition add.cpp:35
ex(* evalf_funcp_3)(const ex &, const ex &, const ex &)
Definition function.h:167
ex(* eval_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:214
ex(* expand_funcp_4)(const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:183
ex(* conjugate_funcp_3)(const ex &, const ex &, const ex &)
Definition function.h:168
void(* print_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
Definition function.h:200
ex(* power_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:198
ex(* series_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
Definition function.h:211
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 &)
Definition function.h:260
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)
Definition function.h:247
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)
Definition function.h:309
bool is_the_function(const ex &x)
Definition function.h:757
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 &)
Definition function.h:281
ex(* power_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:210
ex(* expand_funcp_exvector)(const exvector &, unsigned)
Definition function.h:319
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)
Definition function.h:256
ex(* imag_part_funcp_1)(const ex &)
Definition function.h:146
ex(* real_part_funcp_4)(const ex &, const ex &, const ex &, const ex &)
Definition function.h:181
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 &)
Definition function.h:262
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)
Definition function.h:292
ex(* series_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
Definition function.h:223
bool(* info_funcp_3)(const ex &, const ex &, const ex &, unsigned)
Definition function.h:177
ex(* eval_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:226
bool(* info_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:201
ex(* eval_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:250
void(* print_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
Definition function.h:212
ex(* expl_derivative_funcp_4)(const ex &, const ex &, const ex &, const ex &, const symbol &)
Definition function.h:185
ex(* power_funcp_4)(const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:186
ex(* eval_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:190
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 &)
Definition function.h:288
ex(* expand_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:231
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 &)
Definition function.h:264
ex(* conjugate_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:216
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 &)
Definition function.h:306
ex(* evalf_funcp_1)(const ex &)
Definition function.h:143
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 &)
Definition function.h:290
bool(* info_funcp_2)(const ex &, const ex &, unsigned)
Definition function.h:165
ex(* power_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:234
bool(* info_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:249
ex(* expl_derivative_funcp_1)(const ex &, const symbol &)
Definition function.h:149
void(* print_funcp)()
Definition function.h:138
ex(* conjugate_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:228
ex(* conjugate_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:192
ex(* eval_funcp_1)(const ex &)
Definition function.h:142
bool(* info_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:213
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)
Definition function.h:297
bool(* info_funcp_exvector)(const exvector &, unsigned)
Definition function.h:325
void(* print_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
Definition function.h:224
ex(* evalf_funcp)()
Definition function.h:129
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 &)
Definition function.h:305
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 &)
Definition function.h:302
ex(* power_funcp_1)(const ex &, const ex &)
Definition function.h:150
ex(* evalf_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:191
ex(* eval_funcp_4)(const ex &, const ex &, const ex &, const ex &)
Definition function.h:178
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)
Definition function.h:267
ex(* power_funcp_2)(const ex &, const ex &, const ex &)
Definition function.h:162
ex(* imag_part_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:218
ex(* imag_part_funcp)()
Definition function.h:132
ex(* expand_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:219
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)
Definition function.h:261
ex(* series_funcp_2)(const ex &, const ex &, const relational &, int, unsigned)
Definition function.h:163
ex(* real_part_funcp_2)(const ex &, const ex &)
Definition function.h:157
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 &)
Definition function.h:301
ex(* series_funcp)()
Definition function.h:137
ex(* derivative_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:220
ex(* real_part_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:241
ex(* imag_part_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:194
ex(* eval_funcp_exvector)(const exvector &)
Definition function.h:314
bool(* info_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:225
ex(* expl_derivative_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
Definition function.h:221
ex(* derivative_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:232
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 &)
Definition function.h:289
ex(* expl_derivative_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
Definition function.h:233
ex(* real_part_funcp_exvector)(const exvector &)
Definition function.h:317
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)
Definition function.h:271
ex(* expl_derivative_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
Definition function.h:197
bool(* info_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:237
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)
Definition function.h:259
const numeric exp(const numeric &x)
Exponential function.
Definition numeric.cpp:1438
ex(* imag_part_funcp_4)(const ex &, const ex &, const ex &, const ex &)
Definition function.h:182
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 &)
Definition function.h:298
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)
Definition function.h:280
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 &)
Definition function.h:254
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 &)
Definition function.h:299
ex(* real_part_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:217
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 &)
Definition function.h:265
ex(* derivative_funcp_3)(const ex &, const ex &, const ex &, unsigned)
Definition function.h:172
ex(* evalf_funcp_2)(const ex &, const ex &)
Definition function.h:155
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)
Definition function.h:283
ex(* conjugate_funcp_4)(const ex &, const ex &, const ex &, const ex &)
Definition function.h:180
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)
Definition function.h:279
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)
Definition function.h:303
ex(* expand_funcp_2)(const ex &, const ex &, unsigned)
Definition function.h:159
ex(* eval_funcp_3)(const ex &, const ex &, const ex &)
Definition function.h:166
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)
Definition function.h:255
ex(* real_part_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:205
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 &)
Definition function.h:277
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 &)
Definition function.h:253
void(* print_funcp_exvector)(const exvector &, const print_context &)
Definition function.h:324
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 &)
Definition function.h:269
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 &)
Definition function.h:275
ex(* derivative_funcp_exvector)(const exvector &, unsigned)
Definition function.h:320
ex(* evalf_funcp_4)(const ex &, const ex &, const ex &, const ex &)
Definition function.h:179
ex(* real_part_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:229
ex(* power_funcp)()
Definition function.h:136
ex(* evalf_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:239
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 &)
Definition function.h:308
ex(* conjugate_funcp_2)(const ex &, const ex &)
Definition function.h:156
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 &)
Definition function.h:258
ex(* expl_derivative_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const symbol &)
Definition function.h:209
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 &)
Definition function.h:266
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 &)
Definition function.h:257
ex(* power_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:222
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 &)
Definition function.h:293
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 &)
Definition function.h:296
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 &)
Definition function.h:270
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)
Definition function.h:285
ex(* expand_funcp)()
Definition function.h:133
ex(* series_funcp_1)(const ex &, const relational &, int, unsigned)
Definition function.h:151
void(* print_funcp_1)(const ex &, const print_context &)
Definition function.h:152
ex(* imag_part_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:206
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)
Definition function.h:304
ex(* imag_part_funcp_exvector)(const exvector &)
Definition function.h:318
bool(* info_funcp_4)(const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:189
bool(* info_funcp_1)(const ex &, unsigned)
Definition function.h:153
void(* print_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
Definition function.h:236
ex(* eval_funcp_2)(const ex &, const ex &)
Definition function.h:154
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 &)
Definition function.h:245
ex(* derivative_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:208
ex(* series_funcp_3)(const ex &, const ex &, const ex &, const relational &, int, unsigned)
Definition function.h:175
ex(* conjugate_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:240
ex(* imag_part_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:242
void(* print_funcp_2)(const ex &, const ex &, const print_context &)
Definition function.h:164
ex(* expand_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:243
ex(* derivative_funcp_2)(const ex &, const ex &, unsigned)
Definition function.h:160
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)
Definition function.h:291
ex(* conjugate_funcp_exvector)(const exvector &)
Definition function.h:316
ex(* series_funcp_4)(const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
Definition function.h:187
ex(* real_part_funcp_1)(const ex &)
Definition function.h:145
ex(* evalf_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:251
ex(* conjugate_funcp_1)(const ex &)
Definition function.h:144
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 &)
Definition function.h:278
ex(* expand_funcp_3)(const ex &, const ex &, const ex &, unsigned)
Definition function.h:171
ex(* series_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
Definition function.h:235
ex(* evalf_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:203
ex(* conjugate_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:204
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)
Definition function.h:273
ex(* eval_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:238
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 &)
Definition function.h:272
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 &)
Definition function.h:287
ex(* imag_part_funcp_3)(const ex &, const ex &, const ex &)
Definition function.h:170
ex(* imag_part_funcp_2)(const ex &, const ex &)
Definition function.h:158
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 &)
Definition function.h:263
bool(* info_funcp)()
Definition function.h:139
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 &)
Definition function.h:286
ex(* series_funcp_exvector)(const exvector &, const relational &, int, unsigned)
Definition function.h:323
ex(* real_part_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:193
ex(* derivative_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:244
ex(* derivative_funcp)()
Definition function.h:134
ex(* power_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:246
ex(* expl_derivative_funcp_exvector)(const exvector &, const symbol &)
Definition function.h:321
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)
Definition function.h:307
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 &)
Definition function.h:276
ex(* evalf_funcp_exvector)(const exvector &)
Definition function.h:315
ex(* series_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
Definition function.h:199
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 &)
Definition function.h:300
ex(* conjugate_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:252
ex(* power_funcp_exvector)(const exvector &, const ex &)
Definition function.h:322
ex(* expl_derivative_funcp)()
Definition function.h:135
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 &)
Definition function.h:282
ex(* derivative_funcp_1)(const ex &, unsigned)
Definition function.h:148
ex(* expl_derivative_funcp_2)(const ex &, const ex &, const symbol &)
Definition function.h:161
ex(* eval_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:202
ex(* expand_funcp_1)(const ex &, unsigned)
Definition function.h:147
void(* print_funcp_3)(const ex &, const ex &, const ex &, const print_context &)
Definition function.h:176
ex(* derivative_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:196
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 &)
Definition function.h:248
ex(* expand_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:207
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 &)
Definition function.h:284
void(* print_funcp_4)(const ex &, const ex &, const ex &, const ex &, const print_context &)
Definition function.h:188
ex(* eval_funcp)()
Definition function.h:128
ex(* imag_part_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:230
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 &)
Definition function.h:274
ex(* power_funcp_3)(const ex &, const ex &, const ex &, const ex &)
Definition function.h:174
ex(* expand_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:195
ex(* real_part_funcp_3)(const ex &, const ex &, const ex &)
Definition function.h:169
ex(* expl_derivative_funcp_3)(const ex &, const ex &, const ex &, const symbol &)
Definition function.h:173
std::vector< ex > exvector
Definition basic.h:47
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)
Definition function.h:268
ex(* real_part_funcp)()
Definition function.h:131
ex(* evalf_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:227
ex(* derivative_funcp_4)(const ex &, const ex &, const ex &, const ex &, unsigned)
Definition function.h:184
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)
Definition function.h:295
ex(* evalf_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
Definition function.h:215
ex(* conjugate_funcp)()
Definition function.h:130
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 &)
Definition function.h:294
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.
Definition registrar.h:151
To distinguish between different kinds of non-commutative objects.
Definition registrar.h:42

This page is part of the GiNaC developer's reference. It was generated automatically by doxygen. For an introduction, see the tutorial.