1 //
2 /* -*- Compile-command: "swig -c++ -java -package javagiac -outdir javagiac giac.i ; g++ -c -fpic giac_wrap.cxx  -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux && g++ -shared giac_wrap.o -lgiac -o libjavagiac.so" -*- */
3 // Mac commands: swig -c++ -java -package javagiac -outdir javagiac giac.i
4 // 32 bits dynamic g++ -m32 -fPIC -c giac_wrap.cxx  -I/System/Library/Frameworks/JavaVM.framework/Headers -I/System/Library/Frameworks/JavaVM.framework/Headers &&  g++ -m32 -shared giac_wrap.o -L.libs -lgiac -dynamiclib -framework JavaVM  -o libjavagiac.jnilib
5 // 64 bits static
6 // g++ -m64 -fPIC -c giac_wrap.cxx  -I/System/Library/Frameworks/JavaVM.framework/Headers -I/System/Library/Frameworks/JavaVM.framework/Headers &&  g++ -m64 -shared giac_wrap.o first.o input_lexer.o unary.o gen.o identificateur.o usual.o pari.o cocoa.o TmpLESystemSolver.o TmpFGLM.o prog.o rpn.o plot.o plot3d.o help.o isom.o gauss.o alg_ext.o ifactor.o global.o tex.o vecteur.o csturm.o subst.o series.o lin.o intg.o intgab.o risch.o solve.o derive.o ezgcd.o modpoly.o modfactor.o index.o symbolic.o  input_parser.o desolve.o quater.o permu.o misc.o moyal.o maple.o ti89.o mathml.o gausspol.o sym2poly.o threaded.o tinymt32.o gl2ps.o /usr/64/local/lib/libntl.a  /usr/64/local/lib/libpari.a /usr/64/local/lib/libmpfr.a /usr/64/local/lib/libcocoa.a -lgmp /usr/64/local/lib/libfltk_images.a /usr/64/local/lib/libfltk.a /usr/64/local/lib/libfltk_gl.a /usr/64/local/lib/libfltk_forms.a /usr/64/local/lib/libfltk_png.a /usr/64/local/lib/libfltk_jpeg.a /usr/64/local/lib/libgsl.a /usr/64/local/lib/libgslcblas.a /usr/64/local/lib/libreadline.a /usr/64/local/lib/libhistory.a /usr/64/local/lib/libintl.a /usr/64/local/lib/libgettextpo.a -liconv -lncurses -lm -lz -L/usr/64/local/lib/ -dynamiclib -framework AGL -framework OpenGL -framework ApplicationServices -lpthread -framework Cocoa -framework Accelerate  -o libjavagiac.jnilib
7 // 64 bits dynamic: g++ -m64 -fPIC -c giac_wrap.cxx  -I/System/Library/Frameworks/JavaVM.framework/Headers -I/System/Library/Frameworks/JavaVM.framework/Headers &&  g++ -m64 -shared giac_wrap.o -L.libs -lgiac -dynamiclib -framework JavaVM  -o libjavagiac.jnilib
8 // or link with .libs/libgiac.a -lmpfr -lntl -lgmp -lcocoa -lpari -llapack -lblas -lgsl -lgslcblas -lintl -lpng -lz
9 /* File : giac.i
10    Interface for giac using swig
11    Assumes gen are stored on 64 bits
12  */
13 %module giac
14 
15 %{
16 #include "giac.h"
17 %}
18 
19 %exception eval {
catch(std::runtime_error & e)20  try { $action } catch (std::runtime_error &e) {
21    std::cout << "An exception occurred in eval: " << e.what() << "\n";
22  }
23 }
24 %exception _eval {
catch(std::runtime_error & e)25  try { $action } catch (std::runtime_error &e) {
26    std::cout << "An exception occurred in _eval: " << e.what() << "\n";
27  }
28 }
29 
30 
31 %javaconst(1);
32 namespace giac {
33   enum gen_unary_types {
34     // immediate type (without mem allocation) should be < _ZINT
35     _INT_= 0, // int val
36     _DOUBLE_= 1, // double _DOUBLE_val
37     // all type below or equal to _DOUBLE_ must be non pointers
38     _ZINT= 2, // mpz_t * _ZINTptr
39     _REAL= 3, // mpf_t * _REALptr
40     // all type strictly below _CPLX must be real types
41     _CPLX= 4, // gen * _CPLXptr
42     _POLY= 5, // polynome * _POLYptr
43     _IDNT= 6, // identificateur * _IDNTptr
44     _VECT= 7, // vecteur * _VECTptr
45     _SYMB= 8, // symbolic * _SYMBptr
46     _SPOL1= 9, // sparse_poly1 * _SPOL1ptr
47     _FRAC= 10, // fraction * _FRACptr
48     _EXT= 11, // gen * _EXTptr
49     _STRNG= 12, // string * _STRNGptr
50     _FUNC= 13, // unary_fonction_ptr * _FUNCptr
51     _ROOT= 14, // real_complex_rootof *_ROOTptr
52     _MOD= 15, // gen * _MODptr
53     _USER= 16, // gen_user * _USERptr
54     _MAP=17, // map<gen.gen> * _MAPptr
55     _EQW=18, // eqwdata * _EQWptr
56     _GROB=19, // grob * _GROBptr
57     _POINTER_=20, // void * _POINTER_val
58     _FLOAT_=21 // immediate, _FLOAT_val
59   } ;
60 
61   enum gen_comp_subtypes {
62     _SEQ__VECT=1,
63     _SET__VECT=2,
64     _RPN_FUNC__VECT=3,
65     _RPN_STACK__VECT=4,
66     _GROUP__VECT=5,
67     _LINE__VECT=6,
68     _VECTOR__VECT=7,
69     _PNT__VECT=8,
70     _CURVE__VECT=8,
71     _HALFLINE__VECT=9,
72     _POLY1__VECT=10,
73     _MATRIX__VECT=11,
74     _RUNFILE__VECT=12,
75     _ASSUME__VECT=13,
76     _SPREAD__VECT=14,
77     _CELL__VECT=15,
78     _EQW__VECT=16,
79     _HIST__VECT=17,
80     _TILIST__VECT=0,
81     _FOLDER__VECT=18,
82     _SORTED__VECT=19,
83     _POINT__VECT=20,
84     _POLYEDRE__VECT=21,
85     _RGBA__VECT=22,
86     _LIST__VECT=23,
87     _LOGO__VECT=24
88   } ;
89 
90 }
91 %include "std_vector.i"
92 %include "std_string.i"
93 
94 namespace std {
95   %template(vectori) vector<int>;
96   %template(vectord) vector<double>;
97   %template(vectorg) vector<giac::gen>;
98   %template(vectors) vector<std::string>;
99 };
100 
101 namespace giac {
102 
103   class context {
104   public:
105     giac::sym_tab * tabptr ;
106     context * globalcontextptr ;
107     context * previous ;
108     giac::global * globalptr;
109     const context * parent;
110     giac::vecteur * quoted_global_vars;
111     giac::vecteur * history_in_ptr, * history_out_ptr;
112     context();
113     context(const context & c);
114 #ifndef RTOS_THREADX
115 #ifndef BESTA_OS
116     context(const std::string & name);
117 #endif
118 #endif
119     ~context();
120     context * clone() const;
121   };
122 
123   class gen {
124   public:
125 #ifdef GIAC_TYPE_ON_8BITS
126     unsigned char type;  // see dispatch.h
127 #else
128     unsigned char type:5;  // 32 types is enough, keep 3 bits more for double
129     unsigned char type_unused:3;
130 #endif
131     signed char subtype;
132     unsigned short reserved; // used if SMARTPTR is defined on 64 bit CPU (16 bits for pointer val)
133     int val;
134 
ref_count()135     inline volatile int & ref_count() const {
136 #ifdef SMARTPTR64
137       return ((ref_mpz_t *) ((* (longlong *) (this))>>16))->ref_count;
138 #else
139       return __ZINTptr->ref_count;
140 #endif
141     }
gen()142     gen(): type(_INT_),subtype(0),val(0) {
143 #ifdef COMPILE_FOR_STABILITY
144       control_c();
145 #endif
146     };
147 #ifdef SMARTPTR64
gen(void * ptr,short int subt)148     gen(void *ptr,short int subt)  {
149 #ifdef COMPILE_FOR_STABILITY
150       control_c();
151 #endif
152       longlong __POINTERptr = (longlong ) new ref_void_pointer(ptr);
153 #ifndef NO_STDEXCEPT
154       if (__POINTERptr & 0xffff000000000000)
155 	setsizeerr(gettext("Pointer out of range"));
156 #endif
157       * ((longlong *) this) = __POINTERptr << 16;
158       subtype=subt;
159       type=_POINTER_;
160     };
161 #else
gen(void * ptr,short int subt)162     gen(void *ptr,short int subt): type(_POINTER_),subtype(char(subt)) {
163 #ifdef COMPILE_FOR_STABILITY
164       control_c();
165 #endif
166       __POINTERptr=new ref_void_pointer(ptr);
167     };
168 #endif
gen(int i)169     gen(int i): type(_INT_),subtype(0),val(i) {
170 #ifdef COMPILE_FOR_STABILITY
171       control_c();
172 #endif
173     };
gen(size_t i)174     gen(size_t i): type(_INT_),subtype(0),val((int)i)  {
175 #ifdef COMPILE_FOR_STABILITY
176       control_c();
177 #endif
178     };
179     gen(longlong i);
180 #ifdef INT128
181     gen(int128_t i);
182 #endif
183 #ifdef DOUBLEVAL
gen(double d)184     gen(double d): type(_DOUBLE_),_DOUBLE_val(d) {};
185 #else
186     // Warning this does not work on ia64 with -O2
gen(double d)187     gen(double d) { *((double *) this) = d; type=_DOUBLE_; };
188 #endif
189     gen(const giac_float & f);
190 #ifdef BCD
191     gen(accurate_bcd_float * b);
192 #endif
193     // inline
194     double DOUBLE_val() const ;
195     giac_float FLOAT_val() const ;
196     gen(int a,int b);
197     gen(double a,double b);
198     gen(const gen & a,const gen & b);
199     gen(const std::complex<double> & c);
200     gen(const gen & e);
201     gen (const giac::identificateur & s);
202     gen (giac::ref_identificateur * sptr);
203     gen (const giac::vecteur & v,short int s=0);
204     gen (giac::ref_vecteur * vptr,short int s=0);
205     // vptr must be a pointer allocated by new, do not delete it explicitly
206     gen (const giac::symbolic & s);
207     gen (giac::ref_symbolic * sptr);
208     gen (const giac::gen_user & g);
209     gen (const giac::real_object & g);
210     // Pls do not use this constructor unless you know exactly what you do
211     gen (giac::Tref_tensor<gen> * pptr);
212     gen (const giac::polynome & p);
213     gen (const giac::fraction & p);
214     gen (const std::string & s,giac::context * contextptr);
215     // gen (const wchar_t * s,giac::context * contextptr);
216     // gen (const char * s,giac::context * contextptr);
217     // gen (const giac::sparse_poly1 & p);
218     gen (const giac::unary_function_ptr & f,int nargs=1);
219     // gen (const giac::unary_function_ptr * f,int nargs=1);
220     gen (const giac::gen_map & m);
221     gen (const giac::eqwdata & );
222     gen (const giac::grob & );
223 #ifdef HAVE_GMPXX_H
224     gen (const giac::mpz_class &);
225 #endif
226     gen (const giac::my_mpz &);
227     ~gen();
228     inline mpz_t * ref_ZINTptr() const ;
229     inline giac::real_object * ref_REALptr() const ;
230     inline giac::gen * ref_CPLXptr() const ;
231     inline giac::identificateur * ref_IDNTptr() const ;
232     inline giac::symbolic * ref_SYMBptr() const ;
233     inline giac::gen * ref_MODptr () const ;
234     inline giac::Tfraction<gen> * ref_FRACptr() const ;
235     inline giac::gen * ref_EXTptr () const ;
236     inline giac::polynome * ref_POLYptr() const ;
237     inline giac::vecteur * ref_VECTptr() const ;
238     inline giac::sparse_poly1 * ref_SPOL1ptr() const ;
239     inline std::string * ref_STRNGptr() const ;
240     inline giac::unary_function_ptr * ref_FUNCptr() const ;
241     inline giac::gen_user * ref_USERptr() const ;
242     inline giac::gen_map * ref_MAPptr() const ;
243     inline giac::eqwdata * ref_EQWptr() const ;
244     inline giac::grob * ref_GROBptr() const ;
245     inline void * ref_POINTER_val() const ;
246 
247     bool in_eval(int level,gen & evaled,const giac::context * contextptr) const;
248     gen eval(int level,const giac::context * contextptr) const;
249     // inline gen eval() const { return eval(DEFAULT_EVAL_LEVEL,context0); }
250     bool in_evalf(int level,gen & evaled,const giac::context * contextptr) const;
251     gen evalf(int level,const giac::context * contextptr) const;
252     // inline gen evalf() const { return evalf(DEFAULT_EVAL_LEVEL,context0); }
253     gen evalf_double(int level,const giac::context * contextptr) const ;
254     gen evalf2double(int level,const giac::context * contextptr) const;
255     %rename(operator_equal) gen::operator =;
256     // gen & operator = (const gen & a);
257     int to_int() const ;
258     bool is_real(giac::context * contextptr) const ;
259     bool is_cinteger() const ;
260     bool is_integer() const ;
261     bool is_constant() const;
262     std::string print(giac::context * contextptr) const;
263     const char * printcharptr() const ;
264     // if sptr==0, return length required, otherwise print at end of *sptr
265     int sprint(std::string * sptr,giac::context * contextptr) const;
266     std::string print_universal(giac::context * contextptr) const;
267     std::string print() const;
268     wchar_t * wprint(giac::context * contextptr) const ;
269     // print then convert to a malloc-ated wchar_t *
modify(int i)270     void modify(int i) { *this =gen(i); };
271     void dbgprint() const;
272     void uncoerce() ;
273     gen conj(giac::context * contextptr) const;
274     gen re(giac::context * contextptr) const ;
275     gen im(giac::context * contextptr) const ;
276     gen inverse(giac::context * contextptr) const;
277     gen squarenorm(giac::context * contextptr) const;
278     int bindigits() const ;
279     // gen operator [] (int i) const ;
280     // gen operator [] (const gen & i) const;
281     gen operator_at(int i,giac::context * contextptr) const;
282     gen operator_at(const gen & i,giac::context * contextptr) const;
283     // gen & operator [] (int i) ;
284     // gen & operator [] (const gen & i) ;
285     %rename(operator_of) operator () (const gen &,giac::context *) const;
286     gen operator () (const gen & i,giac::context * contextptr) const;
287     // gen operator () (const gen & i,const gen & progname,giac::context * contextptr) const;
288     bool islesscomplexthan(const gen & other) const;
289     bool is_approx() const ; // true if double/real or cmplx with re/im
290     int symb_size() const;
291     gen change_subtype(int newsubtype);
292     bool is_symb_of_sommet(const giac::unary_function_ptr & u) const ;
293     // bool is_symb_of_sommet(const giac::unary_function_ptr * u) const ;
294     gen makegen(int i) const; // make a gen of same type as this with integer i
295   };
296   giac::vecteur makevecteur(const gen & a);
297   giac::vecteur makevecteur(const gen & a,const gen & b);
298   giac::vecteur makevecteur(const gen & a,const gen & b,const gen & c);
299   giac::vecteur makevecteur(const gen & a,const gen & b,const gen & c,const gen & d);
300   giac::vecteur makevecteur(const gen & a,const gen & b,const gen & c,const gen & d,const gen & e);
301   giac::vecteur makevecteur(const gen & a,const gen & b,const gen & c,const gen & d,const gen & e,const gen & f);
302   giac::vecteur makevecteur(const gen & a,const gen & b,const gen & c,const gen & d,const gen & e,const gen & f,const gen & g);
303   giac::vecteur makevecteur(const gen & a,const gen & b,const gen & c,const gen & d,const gen & e,const gen & f,const gen & g,const gen & h);
304   giac::vecteur makevecteur(const gen & a,const gen & b,const gen & c,const gen & d,const gen & e,const gen & f,const gen & g,const gen & h,const gen & i);
305 
306   gen _factor(const gen & g,giac::context * contextptr);
307   gen _simplify(const gen & g,giac::context * contextptr);
308   gen _size(const gen & g,giac::context * contextptr);
309   %rename(add) operator + (const gen &,const gen &);
310   gen operator + (const gen & a,const gen & b);
311   %rename(sub) operator - (const gen &,const gen &);
312   gen operator - (const gen & a,const gen & b);
313   %rename(neg) operator - (const gen &);
314   gen operator - (const gen & a);
315   %rename(mul) operator * (const gen &,const gen &);
316   gen operator * (const gen & a,const gen & b);
317   gen rdiv(const gen & a,const gen & b); // rational division
318   %rename(mod) operator % (const gen &,const gen &);
319   gen operator %(const gen & a,const gen & b); // for int only
320   gen pow(const gen & base,const gen & exponent,giac::context *);
321   gen giac_pow(const gen & base,const gen & exponent,giac::context *);
322   gen iquo(const gen & a,const gen & b); // same
323   gen irem(const gen & a,const gen & b,gen & q); // same
324   gen smod(const gen & a,const gen & b); // same
325   void smod(const giac::vecteur & v,const gen & g,giac::vecteur & w);
326   giac::vecteur smod(const giac::vecteur & a,const gen & b); // same
327   // gen inv(const gen & a);
328   gen inv(const gen & a,giac::context *);
329   bool operator_equal(const gen & a,const gen & b,giac::context *);
330   gen equal(const gen & a,const gen &b,giac::context *);
331   int fastsign(const gen & a,giac::context *);   // 0 if unknown, 1 if >0, -1 if <0
332   gen sign(const gen & a,giac::context *);
333   bool is_greater(const gen & a,const gen &b,giac::context *);
334   bool is_strictly_greater(const gen & a,const gen &b,giac::context *);
335   bool is_positive(const gen & a,giac::context *);
336   bool is_strictly_positive(const gen & a,giac::context *);
337   // Large tests if strictly not precised, if sign is unknown make an error
338   bool ck_is_greater(const gen & a,const gen &b,giac::context *);
339   bool ck_is_strictly_greater(const gen & a,const gen &b,giac::context *);
340   bool ck_is_positive(const gen & a,giac::context *);
341   bool ck_is_strictly_positive(const gen & a,giac::context *);
342   gen superieur_strict(const gen & a,const gen & b,giac::context *);
343   gen superieur_egal(const gen & a,const gen & b,giac::context *);
344   gen inferieur_strict(const gen & a,const gen & b,giac::context *);
345   gen inferieur_egal(const gen & a,const gen & b,giac::context *);
346   bool symb_size_less(const gen & a,const gen & b);
347 
348   gen min(const gen & a, const gen & b,giac::context *);
349   gen max(const gen & a, const gen & b,giac::context *);
350   // default context0 is required for instantiation in poly.h
351   gen factorial(unsigned long int i);
352   gen comb(unsigned long int i,unsigned long j);
353   gen perm(unsigned long int i,unsigned long j);
354   gen pow(const gen & base, unsigned long int exponent);
355   gen pow(const gen & base, int exponent);
356   gen pow(unsigned long int base, unsigned long int exponent);
357 
358   // more advanced arithmetic
359   gen gcd(const gen & A,const gen & B);
360   gen lcm(const gen & a,const gen & b);
361   gen simplify(gen & n, gen & d);
362   void egcd(const gen &a,const gen &b, gen & u,gen &v,gen &d );
363   gen ichinrem(const gen & a,const gen &b,const gen & amod, const gen & bmod);
364   gen invmod(const gen & A,const gen & modulo);
365   gen fracmod(const gen & a_orig,const gen & modulo); // -> p/q=a mod modulo
366   bool fracmod(const gen & a_orig,const gen & modulo,gen & res);
367   gen powmod(const gen &base,const gen & expo,const gen & modulo);
368   gen isqrt(const gen & A);
369   gen re(const gen & a,giac::context *);
370   gen no_context_re(const gen & a);
371   gen im(const gen & a,giac::context *);
372   gen no_context_im(const gen & a);
373   void reim(const gen & g,gen & r,gen & i,giac::context *);
374   gen conj(const gen & a,giac::context *);
375   gen no_context_conj(const gen & a);
376   gen sq(const gen & a);
377   gen abs(const gen & a,const context * contextptr=context0);
378   // default context0 is required for instantiation in poly.h
379   gen linfnorm(const gen & a,const context * contextptr=context0);
380   // default context0 is required for instantiation in poly.h
381   gen arg(const gen & a,giac::context *);
382   gen arg_CPLX(const gen & a,giac::context *);
383   int is_perfect_square(const gen & A);
384   int is_probab_prime_p(const gen & A);
385   gen nextprime(const gen & a); // more precisely next probably prime
386   gen prevprime(const gen & a); // more precisely prev probably prime
387   int jacobi(const gen & A, const gen &B);
388   int legendre(const gen & A, const gen & B);
389   giac::vecteur pascal_next_line(const giac::vecteur & v);
390   giac::vecteur pascal_nth_line(int n);
391   // convert a __VECTOR__VECT vecteur to a normal vecteur
392   gen vector2vecteur(const giac::vecteur & v);
393 
394   // if b is a _MOD, returns a as a b _MOD
395   gen chkmod(const gen& a,const gen & b);
396   // make a _MOD a%b
397   gen makemod(const gen & a,const gen & b);
398   // same without evaluating %
399   gen makemodquoted(const gen & a,const gen & b);
400 
401   // from a sum in x returns a list of [coeff monomial]
402   // e.g. 5+2x+3*x*y -> [ [5 1] [2 x] [ 3 x*y] ]
403   giac::vecteur symbolique2liste(const gen & x,giac::context *);
404   // v should be sorted and shrinked
405   gen liste2symbolique(const giac::vecteur & v);
406 
407   bool is_atomic(const gen & e);
408   gen string2gen(const std::string & ss,bool remove_ss_quotes=true);
409   // gen eval_VECT(const giac::vecteur & v,int subtype,int level,const context * context_ptr );
410   gen no_context_evalf(const gen & e);
411   gen evalf(const gen & e,int level,const context * contextptr );
412   gen evalf2bcd_nock(const gen & g0,int level,const context * contextptr);
413   gen evalf2bcd(const gen & g0,int level,const context * contextptr);
414   // return true if g can be converted to a double or real or complex
415   bool has_evalf(const gen & g,gen & res,int level,const context * contextptr);
416   double int2double(int i);
417   gen aplatir_fois_plus(const gen & g);
418   gen collect(const gen & g,giac::context *);
419 
420   gen select_root(const giac::vecteur & v,giac::context * );
421   bool is_known_rootof(const giac::vecteur & v,gen & symroot,giac::context * );
422   gen alg_evalf(const gen & a,const gen &b,giac::context * );
423   gen approx_rootof(const gen & e,giac::context * );
424   gen common_EXT(gen & a,gen & b,const giac::vecteur * l,giac::context * );
425   gen common_minimal_POLY(const gen & ga,const gen & gb, gen & a,gen & b,int &k,giac::context * );
426   gen ext_add(const gen & a,const gen & b,giac::context * );
427   gen ext_sub(const gen & a,const gen & b,giac::context * );
428   gen ext_mul(const gen & a,const gen & b,giac::context * );
429   gen symb_rootof(const gen & p,const gen &pmin,giac::context * );
430   gen rootof(const gen & e,giac::context * );
431   giac::vecteur sturm(const gen &g,const gen & x,giac::context * );
432   int sturmab(const gen & g,const gen &x,const gen & a,const gen & b,giac::context * );
433   gen _sturmab(const gen & g_orig,giac::context * );
434   gen _sturm(const gen & g,giac::context * );
435   gen _sturmseq(const gen & g,giac::context * );
436   int sturmsign(const gen & a,bool strict,giac::context * );
437   int find_range(const gen & g,giac::vecteur & a,giac::context * );
438   gen fminmax(const gen & g,int minmax,giac::context * );
439   gen _complexroot(const gen & g,giac::context * );
440   gen _realroot(const gen & g,giac::context * );
441   gen _crationalroot(const gen & g,giac::context * );
442   gen _rationalroot(const gen & g,giac::context * );
443   giac::vecteur symb2poly_num(const gen & g,giac::context * );
444   gen eval_before_diff(const gen & expr,const gen & variable,giac::context * );
445   gen derive(const gen & e,const giac::identificateur & i,giac::context * );
446   gen derive(const gen & e,const gen & vars,giac::context * );
447   gen derive(const gen & e,const gen & vars,const gen & nderiv,giac::context * );
448   gen _derive(const gen & args,giac::context * );
449   gen _function_diff(const gen & g,giac::context * );
450   gen _grad(const gen & args,giac::context * );
451   gen laplace(const gen & f,const gen & x,const gen & s,giac::context * );
452   gen _laplace(const gen & args,giac::context * );
453   gen diffeq_constante(int i,giac::context * );
454   gen ilaplace(const gen & f,const gen & x,const gen & s,giac::context * );
455   gen _ilaplace(const gen & args,giac::context * );
456   gen _desolve(const gen & args,giac::context * );
457   gen ztrans(const gen & f,const gen & x,const gen & s,giac::context * );
458   gen _ztrans(const gen & args,giac::context * );
459   gen invztrans(const gen & f,const gen & x,const gen & s,giac::context * );
460   gen _invztrans(const gen & args,giac::context * );
461   gen integrate_without_lnabs(const gen & e,const gen & x,giac::context * );
462   gen _ezgcd(const gen & args,giac::context * );
463   gen _modgcd(const gen & args,giac::context * );
464   gen _heugcd(const gen & args,giac::context * );
465   gen _psrgcd(const gen & args,giac::context * );
466   giac::vecteur quad(int &b,const gen & q, const giac::vecteur & x,giac::context * );
467   giac::vecteur qxa(const gen &q,const giac::vecteur & x,giac::context * );
468   gen _q2a(const gen & args,giac::context * );
469   giac::vecteur gauss(const gen & q,const giac::vecteur & x,giac::context * );
470   gen _gauss(const gen & args,giac::context * );
471   gen axq(const giac::vecteur &A,const giac::vecteur & x,giac::context * );
472   gen _a2q(const gen & args,giac::context * );
473   giac::vecteur qxac(const gen &q,const giac::vecteur & x,giac::context * );
474   gen _conique_reduite(const gen & args,giac::context * );
475   gen _quadrique_reduite(const gen & args,giac::context * );
476   void settypeerr(giac::context * );
477   void setsizeerr(giac::context * );
478   void setdimerr(giac::context * );
479   void divisionby0err(const gen &,giac::context * );
480   void cksignerr(const gen &,giac::context * );
481   void invalidserieserr(const std::string &,giac::context * );
482   void toofewargs(const std::string & s,giac::context * );
483   void toomanyargs(const std::string & s,giac::context * );
484   void maxordererr(giac::context * );
485   void setstabilityerr(giac::context * );
486   gen gentypeerr(giac::context * );
487   void gentypeerr(gen & g,giac::context * );
488   gen gensizeerr(giac::context * );
489   void gensizeerr(gen & g,giac::context * );
490   gen gendimerr(giac::context * );
491   void gendimerr(gen & g,giac::context * );
492   gen gendivisionby0err(const gen &,giac::context * );
493   gen gencksignerr(const gen &,giac::context * );
494   gen geninvalidserieserr(const std::string &,giac::context * );
495   gen gentoofewargs(const std::string & s,giac::context * );
496   gen gentoomanyargs(const std::string & s,giac::context * );
497   gen genmaxordererr(giac::context * );
498   gen genstabilityerr(giac::context * );
499   std::string print_the_type(int val,giac::context * );
500   std::string printinner_VECT(const giac::vecteur & v, int subtype,giac::context * );
501   std::string & add_printinner_VECT(std::string & s,const giac::vecteur &v,int subtype,giac::context * );
502   std::string begin_VECT_string(int subtype,bool tex,giac::context * );
503   std::string end_VECT_string(int subtype,bool tex,giac::context * );
504   std::string print_VECT(const giac::vecteur & v,int subtype,giac::context * ); // subtype was 0 by default
505   // std::string print_SPOL1(const giac::sparse_poly1 & p,giac::context * );
506   std::string printint32(int val,int subtype,giac::context * );
507   std::string print_FLOAT_(const giac_float & f,giac::context * );
508   gen parsed_gen(giac::context * );
509   void parsed_gen(const gen & g,giac::context * );
510   unsigned archive_count(const gen & g,giac::context * );
511   bool archive_save(void * f,const gen & g,giac::context * );
512   gen archive_restore(FILE * f,giac::context * );
513   gen _ithprime(const gen & args,giac::context * );
514   gen _ifactors(const gen & args,giac::context * );
515   gen _maple_ifactors(const gen & args,giac::context * );
516   giac::vecteur ifactors(const gen & n0,giac::context * );
517   gen ifactors(const gen & args,int maplemode,giac::context * );
518   giac::vecteur factors(const gen & g,const gen & x,giac::context * );
519   gen _factors(const gen & args,giac::context * );
520   gen _divis(const gen & args,giac::context * );
521   gen idivis(const gen & n,giac::context * );
522   gen _idivis(const gen & args,giac::context * );
523   giac::vecteur pfacprem(gen & n,bool addlast,giac::context * );
524   gen ifactor(const gen & n,giac::context * );
525   gen _ifactor(const gen & args,giac::context * );
526   gen euler(const gen & e,giac::context * );
527   gen _euler(const gen & args,giac::context * );
528   gen pa2b2(const gen & p,giac::context * );
529   gen _pa2b2(const gen & args,giac::context * );
530   gen _propfrac(const gen & args,giac::context * );
531   gen _iabcuv(const gen & args,giac::context * );
532   gen abcuv(const gen & a,const gen & b,const gen & c,const gen & x,giac::context * );
533   gen _abcuv(const gen & args,giac::context * );
534   gen simp2(const gen & a,const gen & b,giac::context * );
535   gen _simp2(const gen & args,giac::context * );
536   gen _fxnd(const gen & args,giac::context * );
537   int is_meromorphic(const gen & g,const gen & x,gen &a,gen &b,gen & P,giac::context * );
538   int is_even_odd(const gen & f,const gen & x,giac::context * );
539   gen residue(const gen & g,const gen & x,const gen & a,giac::context * );
540   gen _residue(const gen & args,giac::context * );
541   bool intgab(const gen & g,const gen & x,const gen & a,const gen & b,gen & res,giac::context * );
542   giac::vecteur singular(const gen & g,const gen & x,giac::context * );
543   gen _singular(const gen & args,giac::context * );
544   gen complex_subst(const gen & e,const giac::vecteur & substin,const giac::vecteur & substout,giac::context * );
545   gen complex_subst(const gen & e,const gen & x,const gen & newx,giac::context * );
546   giac::vecteur lvarxwithinv(const gen &e,const gen & x,giac::context * );
547   bool is_constant_wrt(const gen & e,const gen & x,giac::context * );
548   bool is_linear_wrt(const gen & e,const gen &x,gen & a,gen & b,giac::context * );
549   bool is_quadratic_wrt(const gen & e,const gen &x,gen & a,gen & b,gen & c,giac::context * );
550   gen lnabs(const gen & x,giac::context * );
551   gen surd(const gen & c,int n,giac::context * );
552   gen _surd(const gen & args,giac::context * );
553   gen invexptoexpneg(const gen& g,giac::context * );
554   bool is_rewritable_as_f_of(const gen & fu,const gen & u,gen & fx,const gen & gen_x,giac::context * );
555   bool intgab_ratfrac(const gen & e,const gen & x,gen & value,giac::context * );
556   gen integrate_gen_rem(const gen & e, const gen & x, gen & remains_to_integrate,giac::context * );
557   gen integrate_id_rem(const gen & e, const gen & x, gen & remains_to_integrate,giac::context * );
558   gen linear_integrate(const gen & e,const gen & x,gen & remains_to_integrate,giac::context * );
559   gen integrate_id(const gen & e,const giac::identificateur & x,giac::context * );
560   gen integrate_gen(const gen & e,const gen & f,giac::context * );
561   gen _integrate(const gen & args,giac::context * );
562   double rombergo(const gen & f,const gen & x, const gen & a, const gen & b, int n,giac::context * );
563   double rombergt(const gen & f,const gen & x, const gen & a, const gen & b, int n,giac::context * );
564   gen _romberg(const gen & args,giac::context * );
565   gen sum(const gen & e,const gen & x,gen & remains_to_sum,giac::context * );
566   gen sum_loop(const gen & e,const gen & x,int i,int j,giac::context * );
567   gen sum(const gen & e,const gen & x,const gen & a,const gen &b,giac::context * );
568   gen _sum(const gen & args,giac::context * ) ;
569   gen _Sum(const gen & args,giac::context * ) ;
570   gen _bernoulli(const gen & args,giac::context * ) ;
571   gen seqprod(const gen & g,int type,giac::context * );
572   gen sum(const gen & e,const gen & x,gen & remains_to_sum,giac::context * );
573   gen sum(const gen & e,const gen & x,const gen & a,const gen &b,giac::context * );
574   gen _sum(const gen & args,giac::context * );
575   gen sum_loop(const gen & e,const gen & x,int i,int j,giac::context * );
576   gen _bernoulli(const gen & args,giac::context * );
577   gen _odesolve(const gen & args,giac::context * );
578   gen preval(const gen & f,const gen & x,const gen & a,const gen & b,giac::context * );
579   gen _ibpdv(const gen & args,giac::context * );
580   gen fourier_an(const gen & f,const gen & x,const gen & T,const gen & n,const gen & a,giac::context * );
581   gen fourier_bn(const gen & f,const gen & x,const gen & T,const gen & n,const gen & a,giac::context * );
582   gen fourier_cn(const gen & f,const gen & x,const gen & T,const gen & n,const gen & a,giac::context * );
583   gen _fourier_an(const gen & args,giac::context * );
584   gen _fourier_bn(const gen & args,giac::context * );
585   gen _fourier_cn(const gen & args,giac::context * );
586   gen _isom(const gen & args,giac::context * );
587   gen _mkisom(const gen & args,giac::context * );
588   giac::vecteur mkisom(const gen & n,int b,giac::context * );
589   gen prod_expand(const gen & a,const gen & b,giac::context * );
590   gen unlin(giac::vecteur & v,giac::context * );
591   void convolution(const gen & coeff, const gen & arg,const giac::vecteur & w,giac::vecteur & res,giac::context * );
592   void lin(const gen & e,giac::vecteur & v,giac::context * );
593   gen _lin(const gen & e,giac::context * );
594   gen lnexpand(const gen & e,giac::context * );
595   gen tunlin(giac::vecteur & v,giac::context * );
596   void tconvolution(const gen & coeff, const gen & arg,const giac::vecteur & w,giac::vecteur & res,giac::context * );
597   void tlin(const gen & e,giac::vecteur & v,giac::context * );
598   gen _tlin(const gen & e,giac::context * );
599   gen _texpand(const gen & e,giac::context * );
600   gen expand(const gen & e,giac::context * );
601   gen ln_expand(const gen & e0,giac::context * );
602   gen _texpand(const gen & args,giac::context * );
603   gen expexpand(const gen & e,giac::context * );
604   gen lnexpand(const gen & e,giac::context * );
605   gen trigexpand(const gen & e,giac::context * );
606   gen _about(const gen & g,giac::context * );
607   gen _zip(const gen & args,giac::context * );
608   gen _accumulate_head_tail(const gen & args,giac::context * );
609   gen _divide(const gen & g,giac::context * );
610   gen _ratnormal(const gen & g,giac::context * );
611   gen _about(const gen & g,giac::context * );
612   gen _inverse(const gen & a_orig,giac::context * );
613   gen _Inverse(const gen & g,giac::context * );
614   gen _igcdex(const gen & a_orig,giac::context * );
615   gen _gcdex(const gen & a_orig,giac::context * );
616   gen _revlist(const gen & a,giac::context * );
617   gen _restart(const gen & args,giac::context * );
618   gen _restart_modes(const gen & args,giac::context * );
619   gen _time(const gen & a,giac::context * );
620   gen _cat(const gen & a_orig,giac::context * );
621   gen _pivot(const gen & a_orig,giac::context * );
622   gen _rowspace(const gen & g,giac::context * );
623   gen _colspace(const gen & g,giac::context * );
624   gen _copy(const gen & g,giac::context * );
625   gen _row(const gen & g,giac::context * );
626   gen _col(const gen & g,giac::context * );
627   gen _count_sup(const gen & args,giac::context * );
628   gen _count_inf(const gen & args,giac::context * );
629   gen _trunc(const gen & args,giac::context * );
630   gen _evalc(const gen & g,giac::context * );
631   gen _open(const gen & g,giac::context * );
632   gen _fopen(const gen & g,giac::context * );
633   gen _fprint(const gen & g,giac::context * );
634   gen _close(const gen & g,giac::context * );
635   gen _blockmatrix(const gen & g,giac::context * );
636   gen _delcols(const gen & g,giac::context * );
637   gen _delrows(const gen & g,giac::context * );
638   gen _JordanBlock(const gen & g,giac::context * );
639   gen _companion(const gen & g,giac::context * );
640   gen _border(const gen & g,giac::context * );
641   gen _pade(const gen & g,giac::context * );
642   gen _lhs(const gen & g,giac::context * );
643   gen _rhs(const gen & g,giac::context * );
644   gen _reverse_rsolve(const gen & g,giac::context * );
645   gen fft(const gen & g_orig,int direct,giac::context * );
646   gen _fft(const gen & g,giac::context * );
647   gen _ifft(const gen & g,giac::context * );
648   gen _Resultant(const gen & g,giac::context * );
649   gen _Nullspace(const gen & g,giac::context * );
650   gen _assign(const gen & g,giac::context * );
651   gen _implicitplot3d(const gen & g,giac::context * );
652   gen _readwav(const gen & g,giac::context * );
653   gen _writewav(const gen & g,giac::context * );
654   gen _animate(const gen & g,giac::context * );
655   gen _animate3d(const gen & g,giac::context * );
656   gen _even(const gen & g,giac::context * );
657   gen _odd(const gen & g,giac::context * );
658   gen _writergb(const gen & g,giac::context * );
659   gen _readrgb(const gen & g,giac::context * );
660   gen product(const giac::polynome & P,const giac::vecteur & v,const gen & n,gen & remains,giac::context * );
661   gen _seqsolve(const gen & args,giac::context * );
662   gen _rsolve(const gen & args,giac::context * );
663   gen _array(const gen & g,giac::context * );
664   gen _makemod(const gen & args,giac::context * );
665   gen _hexprint(const gen & g,giac::context * );
666   gen _octprint(const gen & g,giac::context * );
667   gen _binprint(const gen & g,giac::context * );
668   std::string cprint(const gen & args,giac::context * );
669   gen _mathml(const gen & g,giac::context * );
670   gen _spread2mathml(const gen & g,giac::context * );
671   std::string gen2mathml(const gen & e,giac::context * );
672   std::string gen2mathml(const gen & e, std::string &svg,giac::context * );
673   std::string gen2svg(const gen &e,giac::context * );
674   gen _scalar_product(const gen & args,giac::context * );
675   gen _compare(const gen & args,giac::context * );
676   gen _preval(const gen & args,giac::context * );
677   gen _lagrange(const gen & args,giac::context * );
678   gen _reorder(const gen & args,giac::context * );
679   gen _adjoint_matrix(const gen & args,giac::context * );
680   gen _equal2diff(const gen & args,giac::context * );
681   gen _equal2list(const gen & args,giac::context * );
682   gen _rank(const gen & args,giac::context * );
683   gen _csc(const gen & args,giac::context * );
684   gen _cot(const gen & args,giac::context * );
685   gen _acsc(const gen & args,giac::context * );
686   gen _ibpu(const gen & args,giac::context * ) ;
687   gen _changebase(const gen & args,giac::context * );
688   gen _epsilon2zero(const gen & args,giac::context * );
689   gen _suppress(const gen & args,giac::context * );
690   gen _valuation(const gen & args,giac::context * );
691   gen _degree(const gen & args,giac::context * );
692   gen _lcoeff(const gen & args,giac::context * );
693   gen _tcoeff(const gen & args,giac::context * );
694   gen _sqrfree(const gen & args,giac::context * );
695   gen _truncate(const gen & args,giac::context * );
696   gen _canonical_form(const gen & args,giac::context * );
697   gen _fcoeff(const gen & args,giac::context * );
698   gen _froot(const gen & args,giac::context * );
699   gen _roots(const gen & g,giac::context * );
700   gen _divpc(const gen & args,giac::context * );
701   gen _ptayl(const gen & args,giac::context * );
702   gen _dfc(const gen & g_orig,giac::context * );
703   gen _dfc2f(const gen & g,giac::context * );
704   gen _float2rational(const gen & g,giac::context * );
705   gen _gramschmidt(const gen & g,giac::context * );
706   gen _pmin(const gen & g,giac::context * );
707   gen _potential(const gen & g,giac::context * );
708   gen _vpotential(const gen & g,giac::context * );
709   gen _poly2symb(const gen & g,giac::context * );
710   gen _symb2poly(const gen & g,giac::context * );
711   gen _exp2trig(const gen & g,giac::context * );
712   gen _nrows(const gen & g,giac::context * );
713   gen _ncols(const gen & g,giac::context * );
714   gen _l2norm(const gen & g0,giac::context * );
715   gen _normalize(const gen & a,giac::context * );
716   gen _lgcd(const gen & g,giac::context * );
717   gen _float(const gen & g,giac::context * );
718   gen _hold(const gen & g,giac::context * );
719   gen _eigenvals(const gen & g,giac::context * );
720   gen _Gcd(const gen & g,giac::context * );
721   gen _Gcdex(const gen & g,giac::context * );
722   gen _Factor(const gen & g,giac::context * );
723   gen _Rref(const gen & g,giac::context * );
724   gen _Rank(const gen & g,giac::context * );
725   gen _Det(const gen & g,giac::context * );
726   gen _Quo(const gen & g,giac::context * );
727   gen _Rem(const gen & g,giac::context * );
728   gen _Int(const gen & g,giac::context * );
729   gen _divisors(const gen & g,giac::context * );
730   gen _maxnorm(const gen & g0,giac::context * );
731   gen _l1norm(const gen & g0,giac::context * );
732   gen _dotprod(const gen & g,giac::context * );
733   gen _diag(const gen & g,giac::context * );
734   gen _input(const gen & args,giac::context * );
735   gen _textinput(const gen & args,giac::context * );
736   gen _primpart(const gen & g,giac::context * );
737   gen _content(const gen & g,giac::context * );
738   gen _coeff(const gen & g,giac::context * );
739   gen _chrem(const gen & g,giac::context * );
740   gen _genpoly(const gen & g,giac::context * );
741   gen _median(const gen & g,giac::context * );
742   gen _quartile1(const gen & g,giac::context * );
743   gen _quartile3(const gen & g,giac::context * );
744   gen _quantile(const gen & g,giac::context * );
745   gen _quartiles(const gen & g,giac::context * );
746   gen _moustache(const gen & g_orig,giac::context * );
747   gen _mean(const gen & g,giac::context * );
748   gen _stdDev(const gen & g,giac::context * );
749   gen _stddev(const gen & g,giac::context * );
750   gen _variance(const gen & g,giac::context * );
751   gen _covariance_correlation(const gen & g,giac::context * );
752   gen _covariance(const gen & g,giac::context * );
753   gen _correlation(const gen & g,giac::context * );
754   gen _interval2center(const gen & g,giac::context * );
755   gen _linear_regression(const gen & g,giac::context * );
756   gen _exponential_regression(const gen & g,giac::context * );
757   gen _power_regression(const gen & g,giac::context * );
758   gen regression_plot_attributs(const gen & g,giac::vecteur & attributs,bool & eq,bool & r,giac::context * );
759   gen _linear_regression_plot(const gen & g,giac::context * );
760   gen _exponential_regression_plot(const gen & g,giac::context * );
761   gen _logarithmic_regression_plot(const gen & g,giac::context * );
762   gen _power_regression_plot(const gen & g,giac::context * );
763   gen _polynomial_regression(const gen & g,giac::context * );
764   gen _polynomial_regression_plot(const gen & g,giac::context * );
765   gen _logistic_regression(const gen & g,giac::context * );
766   gen _logistic_regression_plot(const gen & g,giac::context * );
767   gen _linear_interpolate(const gen & g,giac::context * );
768   gen _parabolic_interpolate(const gen & g,giac::context * );
769   gen _center2interval(const gen & g,giac::context * );
770   gen _histogram(const gen & g,giac::context * );
771   gen _cumulated_frequencies(const gen & g,giac::context * );
772   gen _classes(const gen & g,giac::context * );
773   gen _listplot(const gen & g,giac::context * );
774   gen _scatterplot(const gen & g,giac::context * );
775   gen _polygonplot(const gen & g,giac::context * );
776   gen _polygonscatterplot(const gen & g,giac::context * );
777   gen _diagramme_batons(const gen & g,giac::context * );
778   gen _camembert(const gen & g,giac::context * );
779   gen cross_prod(const gen & a,const gen & b,const gen & c,giac::context * );
780   gen _convexhull(const gen & g,giac::context * );
781   gen _simplex_reduce(const gen & g,giac::context * );
782   gen _spline(const gen & g,giac::context * );
783   gen _bitand(const gen & g,giac::context * );
784   gen _bitor(const gen & g,giac::context * );
785   gen _bitxor(const gen & g,giac::context * );
786   gen _hamdist(const gen & g,giac::context * );
787   gen _plotarea(const gen & g,giac::context * );
788   gen _add_language(const gen & args,giac::context * );
789   gen _remove_language(const gen & args,giac::context * );
790   gen _show_language(const gen & args,giac::context * );
791   gen _os_version(const gen & args,giac::context * );
792   giac::vecteur gen2continued_fraction(const gen & g,int n,giac::context * );
793   gen float2rational(double d_orig,double eps,giac::context * );
794   gen _sec(const gen & args,giac::context * );
795   gen _asec(const gen & args,giac::context * );
796   gen _acsc(const gen & args,giac::context * );
797   gen _csc(const gen & args,giac::context * );
798   gen _acot(const gen & args,giac::context * );
799   gen _cot(const gen & args,giac::context * );
800   gen _horner(const gen & args,giac::context * );
801   gen _moyal(const gen & args,giac::context * );
802   gen _Airy_Ai(const gen & args,giac::context * );
803   gen _Airy_Bi(const gen & args,giac::context * );
804   gen _randNorm(const gen & args,giac::context * );
805   gen _randexp(const gen & args,giac::context * );
806   gen _UTPN(const gen & args,giac::context * );
807   gen UTPC(const gen & n_orig,const gen & x0,giac::context * );
808   gen _UTPC(const gen & args,giac::context * );
809   gen UTPT(const gen & n_orig,const gen & x0,giac::context * );
810   gen _UTPT(const gen & args,giac::context * );
811   gen UTPF(const gen & num,const gen & den,const gen & x0,giac::context * );
812   gen _UTPF(const gen & args,giac::context * );
813   gen binomial(const gen & n,const gen & k,const gen & p,giac::context * );
814   gen _binomial(const gen & args,giac::context * );
815   gen binomial_cdf(const gen & n,const gen &p,const gen & x0,const gen & x,giac::context * );
816   gen _binomial_cdf(const gen & args,giac::context * );
817   gen binomial_icdf(const gen & n,const gen &p,const gen & x_orig,giac::context * );
818   gen _binomial_icdf(const gen & args,giac::context * );
819   gen poisson(const gen & m,const gen & k,giac::context * );
820   gen _poisson(const gen & args,giac::context * );
821   gen poisson_cdf(const gen & n,const gen & x,giac::context * );
822   gen _poisson_cdf(const gen & args,giac::context * );
823   gen poisson_icdf(const gen & m,const gen & t_orig,giac::context * );
824   gen _poisson_icdf(const gen & args,giac::context * );
825   gen _normald(const gen & g,giac::context * );
826   gen _normal_cdf(const gen & args,giac::context * );
827   gen _normal_icdf(const gen & args,giac::context * );
828   gen student(const gen & n,const gen & x,giac::context * );
829   gen _student(const gen & args,giac::context * );
830   gen student_cdf(const gen & dof,const gen & x1,const gen & x2,giac::context * );
831   gen _student_cdf(const gen & args,giac::context * );
832   gen student_icdf(const gen & m,const gen & t_orig,giac::context * );
833   gen _student_icdf(const gen & args,giac::context * );
834   gen chisquare(const gen & n,const gen & x,giac::context * );
835   gen _chisquare(const gen & args,giac::context * );
836   gen chisquare_cdf(const gen & dof,const gen & x1,const gen & x2,giac::context * );
837   gen _chisquare_cdf(const gen & args,giac::context * );
838   gen chisquare_icdf(const gen & m,const gen & t_orig,giac::context * );
839   gen _chisquare_icdf(const gen & args,giac::context * );
840   gen snedecor(const gen & a,const gen & b,const gen & x,giac::context * );
841   gen _snedecor(const gen & args,giac::context * );
842   gen snedecor_cdf(const gen & ndof,const gen & ddof,const gen & x,giac::context * );
843   gen _snedecor_cdf(const gen & args,giac::context * );
844   gen snedecor_icdf(const gen & num,const gen & den,const gen & t_orig,giac::context * );
845   gen _snedecor_icdf(const gen & args,giac::context * );
846   gen Beta(const gen & a,const gen& b,giac::context * );
847   gen _Beta(const gen & args,giac::context * );
848   gen Bessel(const gen & g,int kind,giac::context * );
849   gen _BesselI(const gen & args,giac::context * );
850   gen _BesselJ(const gen & args,giac::context * );
851   gen _BesselK(const gen & args,giac::context * );
852   gen _BesselY(const gen & args,giac::context * );
853   gen _constants_catalog(const gen & g,giac::context * );
854   // std::string pariprint(const gen & e,int varnum,giac::context * );
855   // GEN gen2GEN(const gen & e,const giac::vecteur & vars,giac::context * );
856   gen _pari(const gen & args,giac::context * );
857   gen _trn(const gen & args,giac::context * );
858   gen _sizes(const gen & args,giac::context * );
859   gen _permuorder(const gen & args,giac::context * );
860   gen _randperm(const gen & args,giac::context * );
861   gen _is_permu(const gen & args,giac::context * );
862   gen _is_cycle(const gen & args,giac::context * );
863   gen _cycle2perm(const gen & args,giac::context * );
864   gen _p1op2(const gen & args,giac::context * );
865   gen _c1oc2(const gen & args,giac::context * );
866   gen _c1op2(const gen & args,giac::context * );
867   gen _p1oc2(const gen & args,giac::context * );
868   gen _cycles2permu(const gen & args,giac::context * );
869   gen _permu2cycles(const gen & args,giac::context * );
870   gen _perminv(const gen & args,giac::context * );
871   gen _cycleinv(const gen & args,giac::context * );
872   gen _signature(const gen & args,giac::context * );
873   gen _randperm(const gen & args,giac::context * );
874   gen _hilbert(const gen & args,giac::context * );
875   gen _hadamard(const gen & args,giac::context * );
876   gen _trn(const gen & args,giac::context * );
877   gen _syst2mat(const gen & args,giac::context * );
878   gen _vandermonde(const gen & args,giac::context * );
879   gen _laplacian(const gen & args,giac::context * );
880   gen _hessian(const gen & args,giac::context * );
881   gen _divergence(const gen & args,giac::context * );
882   gen _curl(const gen & args,giac::context * );
883   gen _groupermu(const gen & args,giac::context * );
884   gen _nextperm(const gen & args,giac::context * );
885   gen _prevperm(const gen & args,giac::context * );
886   gen _split(const gen & args,giac::context * );
887   gen _sum_riemann(const gen & args,giac::context * );
888   gen _divergence(const gen &,giac::context * );
889   gen _hermite(const gen & args,giac::context * );
890   gen _laguerre(const gen & args,giac::context * );
891   gen _tchebyshev1(const gen & args,giac::context * );
892   gen _tchebyshev2(const gen & args,giac::context * );
893   gen _legendre(const gen & args,giac::context * );
894   gen _curl(const gen & args,giac::context * );
895   gen _permu2mat(const gen & args,giac::context * ); // permutation vector -> matrix
896   giac::vecteur interpolyedre(const giac::vecteur & p,const gen & bb,giac::context * );
897   giac::vecteur interdroitehyperplan(const gen & a,const gen &b,giac::context * );
898   giac::vecteur interhyperplan(const gen & p1,const gen & p2,giac::context * );
899   giac::vecteur interhypersurfacecurve(const gen & a,const gen &b,giac::context * );
900   giac::vecteur inter2hypersurface(const gen & a,const gen &b,giac::context * );
901   giac::vecteur interplansphere(const gen & a,const gen & b,giac::context * );
902   gen hypersurface_equation(const gen & g,const giac::vecteur & xyz,giac::context * );
903   gen _plot3d(const gen & args,giac::context * );
904   gen _hypersurface(const gen & args,giac::context * );
905   gen hypersurface_equation(const gen & g,const giac::vecteur & xyz,giac::context * );
906   gen _hyperplan(const gen & args,giac::context * );
907   gen _plan(const gen & args,giac::context * );
908   gen _cone(const gen & args,giac::context * );
909   gen _demi_cone(const gen & args,giac::context * );
910   gen _cylindre(const gen & args,giac::context * );
911   gen _perpendiculaire_commune(const gen & args,giac::context * );
912   gen _polyedre(const gen & args,giac::context * );
913   gen _prisme(const gen & args,giac::context * );
914   gen _parallelepipede(const gen & args,giac::context * );
915   gen _pyramide(const gen & args,giac::context * );
916   gen _tetraedre_centre(const gen & args,giac::context * );
917   gen _cube(const gen & args,giac::context * );
918   gen _cube_centre(const gen & args,giac::context * );
919   gen _octaedre(const gen & args,giac::context * );
920   gen _icosaedre(const gen & args,giac::context * );
921   gen _dodecaedre(const gen & args,giac::context * );
922   gen _aretes(const gen & args,giac::context * );
923   gen _faces(const gen & args,giac::context * );
924   gen _hypersphere(const gen & args,giac::context * );
925   gen _sphere(const gen & args,giac::context * );
926   gen _quadrique(const gen & args,giac::context * );
927   gen _est_cospherique(const gen & args,giac::context * );
928   gen get_point(const gen & g,int n,giac::context * );
929   gen _point3d(const gen & args,giac::context * );
930   gen _point2d(const gen & args,giac::context * );
931   gen mkrand2d3d(int dim,int nargs,gen (* f)(const gen &,const context *),giac::context * );
932   gen droite_by_equation(const giac::vecteur & v,bool est_plan,giac::context * );
933   bool point2abc(const gen & e,const gen & f,gen & a,gen & b,gen & c,giac::context * );
934   gen abs_norm(const gen & g,giac::context * );
935   gen abs_norm2(const gen & g,giac::context * );
936   gen dotgiac::vecteur(const gen & a,const gen & b,giac::context * );
937   giac::vecteur interpolygone(const giac::vecteur & p,const gen & bb,giac::context * );
938   giac::vecteur interdroitecercle(const gen & a,const gen &b,giac::context * );
939   giac::vecteur curveintercircle(const gen & curve,const gen &circle,bool iscircle,giac::context * );
940   gen _avance(const gen & g,giac::context * );
941   gen _recule(const gen & g,giac::context * );
942   gen _position(const gen & g,giac::context * );
943   gen _cap(const gen & g,giac::context * );
944   gen _tourne_droite(const gen & g,giac::context * );
945   gen _tourne_gauche(const gen & g,giac::context * );
946   gen _leve_crayon(const gen & g,giac::context * );
947   gen _baisse_crayon(const gen & g,giac::context * );
948   gen _ecris(const gen & g,giac::context * );
949   gen _signe(const gen & g,giac::context * );
950   gen _saute(const gen & g,giac::context * );
951   gen _pas_de_cote(const gen & g,giac::context * );
952   gen _cache_tortue(const gen & g,giac::context * );
953   gen _montre_tortue(const gen & g,giac::context * );
954   gen _debut_enregistrement(const gen & g0,giac::context * );
955   gen _fin_enregistrement(const gen & g0,giac::context * );
956   gen _repete(const gen & g,giac::context * );
957   gen _crayon(const gen & g,giac::context * );
958   gen _efface(const gen & g,giac::context * );
959   gen _vers(const gen & g,giac::context * );
960   gen _rond(const gen & g,giac::context * );
961   gen _disque(const gen & g,giac::context * );
962   gen _disque_centre(const gen & g,giac::context * );
963   gen _polygone_rempli(const gen & g,giac::context * );
964   gen _rectangle_plein(const gen & g,giac::context * );
965   gen _triangle_plein(const gen & g,giac::context * );
966   gen _dessine_tortue(const gen & g,giac::context * );
967   gen _arc(const gen & args,giac::context * );
968   giac::vecteur plotpreprocess(const gen & args,giac::context * );
969   bool chk_double_interval(const gen & g,double & inf,double & sup,giac::context * );
970   void ck_parameter(const gen & ,giac::context * );
971   gen _erase3d(const gen & args,giac::context * );
972   void rewrite_with_t_real(gen & eq,const gen & t,giac::context * );
973   bool on(const gen & e_orig,const gen & f,gen & t,giac::context * );
974   gen plotcontour(const gen & f0,bool contour,giac::context * );
975   gen _aire(const gen & args,giac::context * );
976   gen _perimetre(const gen & args,giac::context * );
977   gen _plotfunc(const gen &,giac::context * );
978   gen _erase(const gen & args,giac::context * );
979   gen _pixon(const gen & args,giac::context * );
980   gen _pixoff(const gen & args,giac::context * );
981   gen _droite(const gen & args,giac::context * );
982   gen _slope(const gen & args,giac::context * );
983   gen _demi_droite(const gen & args,giac::context * );
984   gen _segment(const gen & args,giac::context * );
985   gen symb_segment(const gen & x,const gen & y,const giac::vecteur & ,int ,giac::context * );
986   gen symb_pnt_name(const gen & x,const gen & c,const gen & nom,giac::context * );
987   gen symb_pnt(const gen & x,const gen & c,giac::context * );
988   gen pnt_attrib(const gen & point,const giac::vecteur & attributs,giac::context * );
989   gen symb_pnt(const gen & x,giac::context * );
990   gen _pnt(const gen & args,giac::context * );
991   gen _animation(const gen & args,giac::context * );
992   gen _point(const gen & args,giac::context * );
993   gen _affixe(const gen & args,giac::context * );
994   gen _abscisse(const gen & args,giac::context * );
995   gen _ordonnee(const gen & args,giac::context * );
996   gen _cote(const gen & args,giac::context * );
997   gen _coordonnees(const gen & args,giac::context * );
998   gen _coordonnees_polaires(const gen & args,giac::context * );
999   gen _coordonnees_rectangulaires(const gen & args,giac::context * );
1000   gen _point_polaire(const gen & args,giac::context * );
1001   gen _cercle(const gen & args,giac::context * );
1002   bool centre_rayon(const gen & cercle,gen & centre,gen & rayon,bool absrayon, giac::context * );
1003   gen _centre(const gen & args,giac::context * );
1004   gen _rayon(const gen & args,giac::context * );
1005   gen _milieu(const gen & args,giac::context * );
1006   gen _mediatrice(const gen & args,giac::context * );
1007   gen bissectrice(const gen & args,bool interieur,giac::context * );
1008   gen _bissectrice(const gen & args,giac::context * );
1009   gen _exbissectrice(const gen & args,giac::context * );
1010   gen _mediane(const gen & args,giac::context * );
1011   gen _circonscrit(const gen & args,giac::context * );
1012   gen _orthocentre(const gen & arg_orig,giac::context * );
1013   gen _inscrit(const gen & args,giac::context * );
1014   gen _exinscrit(const gen & args,giac::context * );
1015   gen _isobarycentre(const gen & args,giac::context * );
1016   gen _barycentre(const gen & args,giac::context * );
1017   gen perpendiculaire(const gen & args,bool suppl,giac::context * );
1018   gen _perpendiculaire(const gen & args,giac::context * );
1019   gen _orthogonal(const gen & args,giac::context * );
1020   gen _mediatrice(const gen & args,giac::context * );
1021   gen _parallele(const gen & args,giac::context * );
1022   gen distance2pp(const gen & ee,const gen & ff,giac::context * );
1023   gen distance2(const gen & f1,const gen & f2,giac::context * );
1024   gen _longueur2(const gen & args,giac::context * );
1025   // gen longueur(const gen & f1,const gen & f2,giac::context * );
1026   gen _longueur(const gen & args,giac::context * );
1027   // gen angle(const gen & f1,const gen & f2,giac::context * );
1028   gen _angle(const gen & args,giac::context * );
1029   gen scalar_product(const gen & a,const gen & b,giac::context * );
1030   gen projection(const gen & a,const gen & b,const gen & c,giac::context * );
1031   gen projection(const gen & e,const gen & p,giac::context * );
1032   gen parameter2point(const giac::vecteur & v,giac::context * );
1033   gen cercle2curve(const gen & f,giac::context * );
1034   giac::vecteur inter(const gen & a,const gen & b,giac::context * );
1035   gen _click(const gen & args,giac::context * );
1036   gen _element(const gen & args,giac::context * );
1037   gen _as_function_of(const gen & args,giac::context * );
1038   gen _lieu(const gen & args,giac::context * );
1039   gen _head(const gen & args,giac::context * );
1040   gen _tail(const gen & args,giac::context * );
1041   gen _sommets(const gen & args,giac::context * );
1042   gen _sommets_abca(const gen & args,giac::context * );
1043   gen _symetrie(const gen & args,giac::context * );
1044   gen _rotation(const gen & args,giac::context * );
1045   gen _projection(const gen & args,giac::context * );
1046   gen _homothetie(const gen & args,giac::context * );
1047   gen _est_coplanaire(const gen & args,giac::context * );
1048   gen _est_aligne(const gen & args,giac::context * );
1049   gen _est_cocyclique(const gen & args,giac::context * );
1050   gen _est_parallele(const gen & args,giac::context * );
1051   gen _est_perpendiculaire(const gen & args,giac::context * );
1052   gen _est_element(const gen & args,giac::context * );
1053   gen _inversion(const gen & args,giac::context * );
1054   gen _similitude(const gen & args,giac::context * );
1055   gen translation(const gen & a,const gen & bb,giac::context * );
1056   gen _translation(const gen & args,giac::context * );
1057   gen _curve(const gen & args,giac::context * );
1058   gen _plotparam(const gen & args,giac::context * );
1059   gen _plotpolar(const gen & args,giac::context * );
1060   gen _parameq(const gen & args,giac::context * );
1061   gen _equation(const gen & args,giac::context * );
1062   gen equation_homogene(const gen & eq,giac::context * );
1063   gen _tangent(const gen & args,giac::context * );
1064   gen _ellipse(const gen & args,giac::context * );
1065   gen _hyperbole(const gen & args,giac::context * );
1066   gen _parabole(const gen & args,giac::context * );
1067   gen _conique(const gen & args,giac::context * );
1068   gen _legende(const gen & args,giac::context * );
1069   gen _distanceat(const gen & args,giac::context * );
1070   gen _distanceatraw(const gen & args,giac::context * );
1071   gen _areaatraw(const gen & args,giac::context * );
1072   gen _areaat(const gen & args,giac::context * );
1073   gen _slopeatraw(const gen & args,giac::context * );
1074   gen _slopeat(const gen & args,giac::context * );
1075   gen _perimeterat(const gen & args,giac::context * );
1076   gen _perimeteratraw(const gen & args,giac::context * );
1077   gen _extract_measure(const gen & valeur,giac::context * );
1078   gen _angleat(const gen & args,giac::context * );
1079   gen _angleatraw(const gen & args,giac::context * );
1080   gen _couleur(const gen & args,giac::context * );
1081   gen _parameter(const gen & args,giac::context * );
1082   gen _hauteur(const gen & args,giac::context * );
1083   gen _triangle(const gen & args,giac::context * );
1084   gen _triangle_rectangle(const gen & args,giac::context * );
1085   gen _triangle_isocele(const gen & args,giac::context * );
1086   gen _triangle_equilateral(const gen & args,giac::context * );
1087   gen _parallelogramme(const gen & args,giac::context * );
1088   gen _isopolygone(const gen & args,giac::context * );
1089   gen _carre(const gen & args,giac::context * );
1090   gen _hexagone(const gen & args,giac::context * );
1091   gen _quadrilatere(const gen & args,giac::context * );
1092   gen _rectangle(const gen & args,giac::context * );
1093   gen _losange(const gen & args,giac::context * );
1094   gen _polygone(const gen & args,giac::context * );
1095   gen _polygone_ouvert(const gen & args,giac::context * );
1096   gen _bissectrice(const gen & args,giac::context * );
1097   gen _exbissectrice(const gen & args,giac::context * );
1098   gen _plotfield(const gen & args,giac::context * );
1099   gen _interactive_plotode(const gen & args,giac::context * );
1100   gen _plotode(const gen & args,giac::context * );
1101   gen archive_session(bool save_history,const std::string & s,giac::context * );
1102   gen unarchive_session_string(const std::string & s,int level, const gen & replace,giac::context * );
1103   // gen _archive(bool save_history,const gen & args,giac::context * );
1104   gen _unarchive(const gen & args,giac::context * );
1105   gen _xyztrange(const gen & args,giac::context * );
1106   gen _switch_axes(const gen & args,giac::context * );
1107   gen _plotseq(const gen & args,giac::context * );
1108   gen _plotimplicit(const gen & args,giac::context * );
1109   gen _plotcontour(const gen & args,giac::context * );
1110   gen _plotinequation(const gen & f0,giac::context * );
1111   gen _inter_droite(const gen & args,giac::context * );
1112   gen _dot_paper(const gen & args,giac::context * );
1113   gen _grid_paper(const gen & args,giac::context * );
1114   gen _triangle_paper(const gen & args,giac::context * );
1115   gen _line_paper(const gen & args,giac::context * );
1116   gen _bitmap(const gen & args,giac::context * );
1117   gen _Pictsize(const gen & args,giac::context * );
1118   gen _plot_style(const gen & args,giac::context * );
1119   gen _DrawInv(const gen & args,giac::context * );
1120   gen _Graph(const gen & g,giac::context * );
1121   gen _DrwCtour(const gen & g,giac::context * );
1122   int est_isocele(const gen & a,const gen & b,const gen & c,giac::context * );
1123   gen _est_isocele(const gen & args,giac::context * );
1124   bool est_equilateral(const gen & a,const gen & b,const gen & c,giac::context * );
1125   gen _est_equilateral(const gen & args,giac::context * );
1126   bool est_carre(const gen & a,const gen & b,const gen & c,const gen & d,giac::context * );
1127   gen _est_carre(const gen & args,giac::context * );
1128   int est_losange(const gen & a,const gen & b,const gen & c,const gen & d,giac::context * );
1129   gen _est_losange(const gen & args,giac::context * );
1130   int est_parallelogramme(const gen & a,const gen & b,const gen & c,const gen & d,giac::context * );
1131   gen _est_parallelogramme(const gen & args,giac::context * );
1132   int est_rect(const gen & a,const gen & b,const gen & c,const gen & d,giac::context * );
1133   gen _est_rectangle(const gen & args,giac::context * );
1134   gen _est_harmonique(const gen & args,giac::context * );
1135   gen _div_harmonique(const gen & args,giac::context * );
1136   gen _point_div(const gen & args,giac::context * );
1137   gen _birapport(const gen & args,giac::context * );
1138   gen _est_harmonique(const gen & args,giac::context * );
1139   gen _div_harmonique(const gen & args,giac::context * );
1140   gen _conj_harmonique(const gen & args,giac::context * );
1141   // gen _conj_harmoniques(const gen & args,giac::context * );
1142   gen _point_div(const gen & args,giac::context * );
1143   gen _birapport(const gen & args,giac::context * );
1144   gen _puissance(const gen & args,giac::context * );
1145   gen _axe_radical(const gen & args,giac::context * );
1146   gen _polaire(const gen & args,giac::context * );
1147   gen _pole(const gen & args,giac::context * );
1148   gen _polaire_reciproque(const gen & args,giac::context * );
1149   gen _est_orthogonal(const gen & args,giac::context * );
1150   gen _est_conjugue(const gen & args,giac::context * );
1151   gen _est_faisceau_cercle(const gen & args,giac::context * );
1152   gen _est_faisceau_droite(const gen & args,giac::context * );
1153   int est_faisceau_droite(const gen & a,const gen & b,const gen & c,giac::context * );
1154   gen _enveloppe(const gen & args,giac::context * );
1155   gen put_attributs(const gen & lieu_geo,const giac::vecteur & attributs,giac::context * );
1156   int est_aligne(const gen & a,const gen & b,const gen & c,giac::context * );
1157   bool est_coplanaire(const gen & a,const gen & b,const gen & c,const gen & d,giac::context * );
1158   bool est_cocyclique(const gen & a,const gen & b,const gen & c,const gen & d,giac::context * );
1159   bool est_parallele_giac::vecteur(const giac::vecteur & a,const giac::vecteur &b,gen & coeff,giac::context * );
1160   bool est_parallele(const gen & a,const gen & b,giac::context * );
1161   bool est_perpendiculaire(const gen & a,const gen & b,giac::context * );
1162   int est_element(const gen & a_orig,const gen & b_orig,giac::context * );
1163   bool est_carre(const gen & a,const gen & b,const gen & c,const gen & d,giac::context * );
1164   int est_isocele(const gen & a,const gen & b,const gen & c,giac::context * );
1165   bool est_equilateral(const gen & a,const gen & b,const gen & c,giac::context * );
1166   int est_trianglerect(const gen & a,const gen & b,const gen & c,giac::context * );
1167   bool est_orthogonal(const gen & c1,const gen & R1,const gen & c2,const gen & R2,giac::context * );
1168   bool est_harmonique(const gen & a,const gen & b,const gen & c,const gen & d,giac::context * );
1169   gen _vector(const gen & args,giac::context * );
1170   gen _hyperplan(const gen & args,giac::context * );
1171   gen _hypersphere(const gen & args,giac::context * );
1172   gen _hypersurface(const gen & args,giac::context * );
1173   gen _Ox_2d_unit_vector(const gen & args,giac::context * );
1174   gen _Oy_2d_unit_vector(const gen & args,giac::context * );
1175   gen _frame_2d(const gen & args,giac::context * );
1176   gen _Ox_3d_unit_vector(const gen & args,giac::context * );
1177   gen _Oy_3d_unit_vector(const gen & args,giac::context * );
1178   gen _Oz_3d_unit_vector(const gen & args,giac::context * );
1179   gen _frame_3d(const gen & args,giac::context * );
1180   void increment_instruction(const gen & arg,giac::context * );
1181   std::string check_local_assign(const gen & g,giac::context * );
1182   gen quote_program(const gen & args,giac::context * );
1183   gen _program(const gen & args,const gen & name,giac::context * );
1184   void adjust_sst_at(const gen & name,giac::context * ); //used in giac::symbolic.cc by nr_eval
1185   gen _bloc(const gen & prog,giac::context * );
1186   std::string printasfor(const gen & feuille,const char * sommetstr,giac::context * );
1187   std::string printasifte(const gen & feuille,const char * sommetstr,giac::context * );
1188   gen _ifte(const gen & e,giac::context * );
1189   gen _evalb(const gen & e,giac::context * );
1190   // gen _maple_if(const gen & args,giac::context * );
1191   gen _when(const gen & e,giac::context * );
1192   gen _for(const gen & e,giac::context * );
1193   gen _local(const gen & args,giac::context * );
1194   // gen _return(const gen & args,giac::context * );
1195   gen _try_catch(const gen & args,giac::context * );
1196   gen _check_type(const gen & args,giac::context * );
1197   gen _type(const gen & args,giac::context * );
1198   gen _nop(const gen & a,giac::context * );
1199   gen _feuille(const gen & args,giac::context * );
1200   gen _maple_op(const gen & args,giac::context * );
1201   gen _sommet(const gen & args,giac::context * );
1202   gen subsop(const gen & g,const giac::vecteur & v,giac::context * );
1203   gen subsop(const giac::vecteur & g,const giac::vecteur & v,const gen & sommet,giac::context * );
1204   gen _maple_subsop(const gen & args,giac::context * );
1205   gen _subsop(const gen & args,giac::context * );
1206   gen _append(const gen & args,giac::context * );
1207   gen _prepend(const gen & args,giac::context * );
1208   gen concat(const gen & g,bool glue_lines,giac::context * );
1209   gen _concat(const gen & args,giac::context * );
1210   gen _contains(const gen & args,giac::context * );
1211   gen _select(const gen & args,giac::context * );
1212   gen _remove(const gen & args,giac::context * );
1213   gen _option(const gen & args,giac::context * );
1214   gen _case(const gen & args,giac::context * );
1215   gen _rand(const gen & args,giac::context * );
1216   gen rand_interval(const giac::vecteur & v,bool entier,giac::context * );
1217   gen _srand(const gen & args,giac::context * );
1218   gen _char(const gen & args,giac::context * );
1219   gen _asc(const gen & args,giac::context * );
1220   gen _map(const gen & args,giac::context * );
1221   gen _apply(const gen & args,giac::context * );
1222   gen _makelist(const gen & args,giac::context * );
1223   gen _interval(const gen & args,giac::context * );
1224   gen _comment(const gen & args,giac::context * );
1225   gen _throw(const gen & args,giac::context * );
1226   gen _union(const gen & args,giac::context * );
1227   gen _intersect(const gen & args,giac::context * );
1228   gen _inter(const gen & args,giac::context * );
1229   gen _minus(const gen & args,giac::context * );
1230   gen _dollar(const gen & args,giac::context * );
1231   gen _makemat(const gen & args,giac::context * );
1232   gen _compose(const gen & args,giac::context * );
1233   gen _composepow(const gen & args,giac::context * );
1234   gen _has(const gen & args,giac::context * );
1235   gen _args(const gen & args,giac::context * );
1236   gen _lname(const gen & args,giac::context * );
1237   gen _halt(const gen & args,giac::context * );
1238   gen _kill(const gen & args,giac::context * );
1239   gen _cont(const gen & args,giac::context * );
1240   gen _sst(const gen & args,giac::context * );
1241   gen _sst_in(const gen & args,giac::context * );
1242   gen _debug(const gen & args,giac::context * );
1243   gen _watch(const gen & args,giac::context * );
1244   gen _rmwatch(const gen & args,giac::context * );
1245   gen _breakpoint(const gen & args,giac::context * );
1246   gen _rmbreakpoint(const gen & args,giac::context * );
1247   void debug_loop(gen &res,giac::context * );
1248   gen _backquote(const gen & args,giac::context * );
1249   gen _double_deux_points(const gen & args,giac::context * );
1250   gen _maple2mupad(const gen & args,giac::context * );
1251   gen _maple2xcas(const gen & args,giac::context * );
1252   gen _mupad2maple(const gen & args,giac::context * );
1253   gen _mupad2xcas(const gen & args,giac::context * );
1254   gen _cd(const gen & args,giac::context * );
1255   gen _pwd(const gen & args,giac::context * );
1256   gen _scientific_format(const gen & args,giac::context * );
1257   gen _integer_format(const gen & g,giac::context * );
1258   gen giac_eval_level(const gen & g,giac::context * ); // can not be declared as _eval_level, conflict
1259   gen _prog_eval_level(const gen & g,giac::context * );
1260   gen _with_sqrt(const gen & g,giac::context * );
1261   gen _xcas_mode(const gen & args,giac::context * );
1262   gen _all_trig_solutions(const gen & args,giac::context * );
1263   gen _ntl_on(const gen & args,giac::context * );
1264   gen _complex_mode(const gen & args,giac::context * );
1265   gen _angle_radian(const gen & args,giac::context * );
1266   gen _epsilon(const gen & args,giac::context * );
1267   gen _proba_epsilon(const gen & args,giac::context * );
1268   gen _complex_variables(const gen & args,giac::context * );
1269   gen _approx_mode(const gen & args,giac::context * );
1270   gen _threads(const gen & args,giac::context * );
1271   gen _threads_allowed(const gen & g,giac::context * );
1272   gen _mpzclass_allowed(const gen & g,giac::context * );
1273   gen _cas_setup(const gen & args,giac::context * );
1274   gen _Digits(const gen & args,giac::context * );
1275   gen _insmod(const gen & args,giac::context * );
1276   gen _xport(const gen & args,giac::context * );
1277   gen _rmmod(const gen & args,giac::context * );
1278   gen _lsmod(const gen & args,giac::context * );
1279   gen _virgule(const gen & args,giac::context * );
1280   gen _sort(const gen & args,giac::context * );
1281   gen _ans(const gen & args,giac::context * );
1282   gen _quest(const gen & args,giac::context * );
1283   gen _convert(const gen & args,giac::context * );
1284   gen _deuxpoints(const gen & args,giac::context * );
1285   gen quote_read(const gen & args,giac::context * ); // read in a file and return non evaled
1286   gen _read(const gen & args,giac::context * ); // read in a file and return evaled
1287   gen _write(const gen & args,giac::context * );
1288   gen _save_history(const gen & args,giac::context * );
1289   gen _findhelp(const gen & args,giac::context * );
1290   gen _member(const gen & args,giac::context * );
1291   gen _tablefunc(const gen & args,giac::context * );
1292   gen _tableseq(const gen & args,giac::context * );
1293   gen protecteval(const gen & g,int level,giac::context * );
1294   gen _unapply(const gen & args,giac::context * );
1295   gen _makevector(const gen & args,giac::context * );
1296   gen _matrix(const gen & args,giac::context * );
1297   gen _makesuite(const gen & args,giac::context * );
1298   gen _break(const gen & args,giac::context * );
1299   gen _continue(const gen & args,giac::context * );
1300   gen _label(const gen & args,giac::context * );
1301   gen _goto(const gen & args,giac::context * );
1302   gen _tilocal(const gen & args,giac::context * );
1303   gen inputform_post_analysis(const giac::vecteur & v,const gen & res,giac::context * );
1304   giac::vecteur inputform_pre_analysis(const gen & g,giac::context * );
1305   gen _inputform(const gen & args,giac::context * );
1306   gen _choosebox(const gen & args,giac::context * );
1307   gen _output(const gen & args,giac::context * );
1308   gen _input(const gen & args,bool textinput,giac::context * );
1309   gen _nop(const gen & args,giac::context * );
1310   std::string printastifunction(const gen & feuille,const char * sommetstr,giac::context * );
1311   gen _Dialog(const gen & args,giac::context * );
1312   gen _Title(const gen & args,giac::context * );
1313   gen _Text(const gen & args,giac::context * );
1314   gen _Request(const gen & args,giac::context * );
1315   gen _DropDown(const gen & args,giac::context * );
1316   gen _Popup(const gen & args,giac::context * );
1317   gen _expr(const gen & args,giac::context * );
1318   gen _string(const gen & args,giac::context * );
1319   gen _part(const gen & args,giac::context * );
1320   gen _Pause(const gen & args,giac::context * );
1321   gen _Row(const gen & args,giac::context * );
1322   gen _Col(const gen & args,giac::context * );
1323   // gen _DelVar(const gen & args,giac::context * );
1324   gen _pointprod(const gen & args,giac::context * );
1325   gen _pointdivision(const gen & args,giac::context * );
1326   gen _pointpow(const gen & args,giac::context * );
1327   gen _pourcent(const gen & args,giac::context * );
1328   gen _hash(const gen & args,giac::context * );
1329   gen _interactive(const gen & args,giac::context * );
1330   std::string printassuffix(const gen & feuille,const char * sommetstr,giac::context * );
1331   gen _ti_semi(const gen & args,giac::context * );
1332   gen widget_size(const gen & g,giac::context * );
1333   gen keyboard(const gen & g,giac::context * );
1334   gen current_sheet(const gen & g,giac::context * );
1335   gen window_switch(const gen & g,giac::context * );
1336   gen maple_lib(const gen & g,giac::context * );
1337   gen maple_root(const gen & g,giac::context * );
1338   gen symb_unit(const gen & a,const gen & b,giac::context * );
1339   std::string printasDigits(const gen & feuille,const char * sommetstr,giac::context * );
1340   gen user_operator(const gen & g,giac::context * );
1341   gen _SetFold(const gen & g,giac::context * );
1342   gen simplifier(const gen & g,giac::context * );
1343   gen _simplifier(const gen & g,giac::context * );
1344   gen mksa_reduce(const gen & g,giac::context * );
1345   gen find_or_make_symbol(const std::string & s,bool check38,giac::context * );
1346   giac::vecteur mksa_convert(const gen & g,giac::context * );
1347   gen _ufactor(const gen & g,giac::context * );
1348   gen _usimplify(const gen & g,giac::context * );
1349   gen _piecewise(const gen & g,giac::context * );
1350   gen when2piecewise(const gen & g,giac::context * );
1351   gen when2sign(const gen & g,giac::context * );
1352   gen piecewise2when(const gen & g,giac::context * );
1353   gen _geo2d(const gen & g,giac::context * );
1354   std::string printasinnerbloc(const gen & feuille,giac::context * );
1355   gen symb_local(const gen & a,const gen & b,giac::context * );
1356   gen symb_local(const gen & args,giac::context * );
1357   gen symb_check_type(const gen & args,giac::context * );
1358   gen _quaternion(const gen & args,giac::context * );
1359   gen risch(const gen & e_orig,const giac::identificateur & x,gen & remains_to_integrate,giac::context * );
1360   gen _risch(const gen & g,giac::context * );
1361   std::string printasconstant(const gen & feuille,const char * sommetstr,giac::context * );
1362   gen _rpn(const gen & args,giac::context * );
1363   gen _alg(const gen & args,giac::context * );
1364   gen _PERCENT(const gen & args,giac::context * );
1365   gen _ROLL(const gen & args,giac::context * );
1366   gen _ROLLD(const gen & args,giac::context * );
1367   gen _SWAP(const gen & args,giac::context * );
1368   gen _DUP(const gen & args,giac::context * );
1369   gen _OVER(const gen & args,giac::context * );
1370   gen _PICK(const gen & args,giac::context * );
1371   gen _DROP(const gen & args,giac::context * );
1372   gen _NOP(const gen & args,giac::context * );
1373   gen _IFTE(const gen & args,giac::context * );
1374   gen _RPN_LOCAL(const gen & args,giac::context * );
1375   gen _RPN_FOR(const gen & args,giac::context * );
1376   gen _RPN_WHILE(const gen & args,giac::context * );
1377   gen _RPN_UNTIL(const gen & args,giac::context * );
1378   gen _RPN_CASE(const gen & args,giac::context * );
1379   gen _RCL(const gen & args,giac::context * );
1380   gen _VARS(const gen & args,giac::context * );
1381   gen _purge(const gen & args,giac::context * );
1382   gen _rpn_prog(const gen & args,giac::context * );
1383   giac::vecteur rpn_eval(const gen & prog,giac::vecteur & pile,giac::context * );
1384   gen _division(const gen & args,giac::context * );
1385   gen _binary_minus(const gen & args,giac::context * );
1386   gen _hp38(const gen & args,giac::context * );
1387   gen _ABS(const gen & args,giac::context * );
1388   gen _MODULO(const gen & args,giac::context * );
1389   gen _RANDOM(const gen & g,giac::context * );
1390   gen _MAXREAL(const gen & g,giac::context * );
1391   gen _MINREAL(const gen & g,giac::context * );
1392   gen _EXPM1(const gen & g,giac::context * );
1393   gen _LNP1(const gen & g,giac::context * );
1394   gen _ADDROW(const gen & args,giac::context * );
1395   gen _ADDCOL(const gen & args,giac::context * );
1396   gen _SCALE(const gen & g,giac::context * );
1397   gen _SCALEADD(const gen & g,giac::context * );
1398   gen _SWAPCOL(const gen & args,giac::context * );
1399   gen _SUB(const gen & args,giac::context * );
1400   gen _RANDMAT(const gen & args,giac::context * );
1401   gen _REDIM(const gen & args,giac::context * );
1402   gen _REPLACE(const gen & args,giac::context * );
1403   gen _EIGENVAL(const gen & args,giac::context * );
1404   gen _EIGENVV(const gen & args,giac::context * );
1405   gen _SIZE(const gen& args,giac::context * );
1406   gen _INT(const gen & g,giac::context * );
1407   gen _HPDIFF(const gen & args,giac::context * );
1408   gen _HPINT(const gen & args,giac::context * );
1409   gen _HPSUM(const gen & args,giac::context * );
1410   gen _TAYLOR(const gen & args,giac::context * );
1411   gen _POLYFORM(const gen & args,giac::context * );
1412   gen _IS_LINEAR(const gen & args,giac::context * );
1413   gen _SVD(const gen & args0,giac::context * );
1414   gen _SVL(const gen & args0,giac::context * );
1415   gen _SPECRAD(const gen & args0,giac::context * );
1416   gen _SPECNORM(const gen & args0,giac::context * );
1417   gen _COND(const gen & args0,giac::context * );
1418   gen _rank(const gen & args,giac::context * );
1419   gen _SCHUR(const gen & args,giac::context * );
1420   gen _LQ(const gen & args0,giac::context * );
1421   gen _LU(const gen & args0,giac::context * );
1422   gen _QR(const gen & args0,giac::context * );
1423   gen _XPON(const gen & g,giac::context * );
1424   gen _MANT(const gen & g,giac::context * );
1425   gen _HMSX(const gen & g0,giac::context * );
1426   gen _XHMS(const gen & g0,giac::context * );
1427   gen _DEGXRAD(const gen & g,giac::context * );
1428   gen _RADXDEG(const gen & g,giac::context * );
1429   gen _PERCENT(const gen & g,giac::context * );
1430   gen _PERCENTCHANGE(const gen & g,giac::context * );
1431   gen _PERCENTTOTAL(const gen & g,giac::context * );
1432   gen _ITERATE(const gen & args,giac::context * );
1433   gen _MAKEMAT(const gen & args,giac::context * );
1434   gen _LSQ(const gen & args,giac::context * );
1435   gen _idivis(const gen & args0,giac::context * );
1436   gen _isprime(const gen & args0,giac::context * );
1437   gen _ithprime(const gen & args0,giac::context * );
1438   gen _euler(const gen & args0,giac::context * );
1439   gen _numer(const gen & args0,giac::context * );
1440   gen _denom(const gen & args0,giac::context * );
1441   gen _ifactors(const gen & args0,giac::context * );
1442   gen _binomial_icdf(const gen & args0,giac::context * );
1443   gen _poisson_icdf(const gen & args0,giac::context * );
1444   gen _NTHROOT(const gen & args,giac::context * );
1445   gen _Ans(const gen & args,giac::context * );
1446   // gen _EXPORT(const gen & args,giac::context * );
1447   gen _VIEWS(const gen & args,giac::context * );
1448   void qualify(gen & g,const giac::vecteur & v,const gen & prog,giac::context * );
1449   int seqapp_prepare(const gen & expr_un,gen & expr,giac::vecteur & vars,giac::context * ,int seqno=-1);
1450   // bool ptruncate(giac::sparse_poly1 & p,const gen & ordre,giac::context * );
1451   void lcmdeno(giac::vecteur &v,gen & e,giac::context * );
1452   gen series(const gen & e,const gen & vars,const gen & lim_point,const gen &ordre,giac::context * );
1453   gen _series(const gen & args,giac::context * );
1454   gen _revert(const gen & args,giac::context * );
1455   gen _bounded_function(const gen & args,giac::context * );
1456   gen bounded_function(giac::context * );
1457   gen limit(const gen & e,const giac::identificateur & x,const gen & lim_point,int direction,giac::context * );
1458   gen _limit(const gen & args,giac::context * );
1459   gen _bounded_function(const gen & args,giac::context * );
1460   gen bounded_function(giac::context * );
1461   gen _euler_mac_laurin(const gen & args,giac::context * );
1462   bool convert_to_euler_mac_laurin(const gen & g,const giac::identificateur &n,gen & res,giac::context * );
1463   giac::vecteur find_singularities(const gen & e,const giac::identificateur & x,int cplxmode,giac::context * );
1464   giac::vecteur solve(const gen & e,const giac::identificateur & x,int isolate_mode,giac::context * );
1465   giac::vecteur solve(const gen & e,const gen & x,int isolate_mode,giac::context * );
1466   void solve(const gen & e,const giac::identificateur & x,giac::vecteur &v,int isolate_mode,giac::context * );
1467   void in_solve(const gen & e,const giac::identificateur & x,giac::vecteur &v,int isolate_mode,giac::context * );
1468   bool modpolyroot(const giac::vecteur & a,const gen & p,giac::vecteur & v,bool dogcd,giac::context * );
1469   gen solvepostprocess(const gen & g,const gen & x,giac::context * );
1470   gen _solve(const gen & args,giac::context * );
1471   gen in_fsolve(giac::vecteur & v,giac::context * );
1472   gen _fsolve(const gen & args,giac::context * );
1473   gen _linsolve(const gen & args,giac::context * );
1474   gen _newton(const gen & args,giac::context * );
1475   gen _greduce(const gen & args,giac::context * );
1476   gen _gbasis(const gen & args,giac::context * );
1477   gen _in_ideal(const gen & args,giac::context * );
1478   giac::vecteur solvepreprocess(const gen & args,bool complex_mode,giac::context * );
1479   gen checkanglemode(giac::context * );
1480   gen degtorad(const gen & g,giac::context * );
1481   gen radtodeg(const gen & g,giac::context * );
1482   giac::vecteur subst(const giac::vecteur & v,const gen & i,const gen & newi,bool quotesubst,giac::context * );
1483   gen subst(const gen & e,const gen & i,const gen & newi,bool quotesubst,giac::context * );
1484   gen subst(const gen & e,const giac::vecteur & i,const giac::vecteur & ewi,bool quotesubst,giac::context * );
1485   gen quotesubst(const gen & e,const gen & i,const gen & newi,giac::context * );
1486   gen halftan(const gen & e,giac::context * );
1487   gen _halftan(const gen & args,giac::context * );
1488   gen shift_phase(const gen & e,giac::context * );
1489   gen _shift_phase(const gen & args,giac::context * );
1490   gen hyp2exp(const gen & e,giac::context * );
1491   gen _hyp2exp(const gen & args,giac::context * );
1492   gen sincos(const gen & e,giac::context * );
1493   gen _sincos(const gen & args,giac::context * );
1494   gen trig2exp(const gen & e,giac::context * );
1495   gen _trig2exp(const gen & args,giac::context * );
1496   gen halftan_hyp2exp(const gen & e,giac::context * );
1497   gen _halftan_hyp2exp(const gen & args,giac::context * );
1498   gen rewrite_hyper(const gen & e,giac::context * );
1499   gen asin2acos(const gen & e,giac::context * );
1500   gen _asin2acos(const gen & args,giac::context * );
1501   gen asin2atan(const gen & e,giac::context * );
1502   gen _asin2atan(const gen & args,giac::context * );
1503   gen acos2asin(const gen & e,giac::context * );
1504   gen _acos2asin(const gen & args,giac::context * );
1505   gen acos2atan(const gen & e,giac::context * );
1506   gen _acos2atan(const gen & args,giac::context * );
1507   gen atan2acos(const gen & e,giac::context * );
1508   gen _atan2acos(const gen & args,giac::context * );
1509   gen atan2asin(const gen & e,giac::context * );
1510   gen _atan2asin(const gen & args,giac::context * );
1511   giac::vecteur as_linear_combination(const gen & g,giac::vecteur & wrt,giac::context * );
1512   gen tsimplify_noexpln(const gen & e,int s1,int s2,giac::context * );
1513   gen tsimplify_common(const gen & e,giac::context * );
1514   gen tsimplify(const gen & e,giac::context * );
1515   gen _tsimplify(const gen & args,giac::context * );
1516   gen simplify(const gen & e,giac::context * );
1517   gen _simplify(const gen & args,giac::context * );
1518   gen trigcos(const gen & e,giac::context * );
1519   gen _trigcos(const gen & args,giac::context * );
1520   gen trigsin(const gen & e,giac::context * );
1521   gen _trigsin(const gen & args,giac::context * );
1522   gen trigtan(const gen & e,giac::context * );
1523   gen _trigtan(const gen & args,giac::context * );
1524   gen tan2sincos(const gen & e,giac::context * );
1525   gen _tan2sincos(const gen & args,giac::context * );
1526   gen tan2sincos2(const gen & e,giac::context * );
1527   gen _tan2sincos2(const gen & args,giac::context * );
1528   gen tan2cossin2(const gen & e,giac::context * );
1529   gen _tan2cossin2(const gen & args,giac::context * );
1530   gen tcollect(const gen & e,giac::context * );
1531   gen _tcollect(const gen & args,giac::context * );
1532   gen lncollect(const gen & e,giac::context * );
1533   gen _lncollect(const gen & args,giac::context * );
1534   gen _powexpand(const gen & args,giac::context * );
1535   gen powexpand(const gen & e,giac::context * );
1536   gen exp2pow(const gen & e,giac::context * );
1537   gen _exp2pow(const gen & args,giac::context * );
1538   gen _pow2exp(const gen & e,giac::context * );
1539   gen pow2expln(const gen & e,giac::context * );
1540   gen simplifyfactorial(const gen & g,giac::context * );
1541   gen pow2expln(const gen & e,const giac::identificateur & x,giac::context * );
1542   gen gamma2factorial(const gen & g,giac::context * );
1543   gen gammatofactorial(const gen & g,giac::context * );
1544   gen factorial2gamma(const gen & g,giac::context * );
1545   gen factorialtogamma(const gen & g,giac::context * );
1546   gen factor_xn(const gen & args,const gen & x,giac::context * );
1547   gen factor_xn(const gen & args,giac::context * );
1548   gen _factor_xn(const gen & args,giac::context * );
1549   gen Heavisidetosign(const gen & args,giac::context * );
1550   gen _Heavisidetosign(const gen & args,giac::context * );
1551   gen expln2trig(const gen & g,giac::context * );
1552   gen _mult_conjugate(const gen & g0,giac::context * );
1553   gen _mult_c_conjugate(const gen & g0,giac::context * );
1554   gen sin2tan2(const gen & e,giac::context * );
1555   gen cos2tan2(const gen & e,giac::context * );
1556   gen tan2tan2(const gen & e,giac::context * );
1557   gen sinh2exp(const gen & e,giac::context * );
1558   gen cosh2exp(const gen & e,giac::context * );
1559   gen tanh2exp(const gen & e,giac::context * );
1560   gen inv_test_exp(const gen & e,giac::context * );
1561   gen sin2exp(const gen & e,giac::context * );
1562   gen cos2exp(const gen & e,giac::context * );
1563   gen tan2exp(const gen & e,giac::context * );
1564   gen exp2sincos(const gen & e,giac::context * );
1565   gen tantosincos(const gen & e,giac::context * );
1566   gen tantosincos2(const gen & e,giac::context * );
1567   gen tantocossin2(const gen & e,giac::context * );
1568   gen asintoacos(const gen & e,giac::context * );
1569   gen acostoasin(const gen & e,giac::context * );
1570   gen asintoatan(const gen & e,giac::context * );
1571   gen atantoasin(const gen & e,giac::context * );
1572   gen acostoatan(const gen & e,giac::context * );
1573   gen atantoacos(const gen & e,giac::context * );
1574   gen trigcospow(const gen & g,giac::context * );
1575   gen trigsinpow(const gen & g,giac::context * );
1576   gen trigtanpow(const gen & g,giac::context * );
1577   gen powtopowexpand(const gen & g,giac::context * );
1578   gen exptopower(const gen & g,giac::context * );
1579   gen asin2ln(const gen & g_orig,giac::context * );
1580   gen acos2ln(const gen & g_orig,giac::context * );
1581   gen atan2ln(const gen & g_orig,giac::context * );
1582   bool guess_program(gen & g,giac::context * );
1583   gen normal(const gen & e,giac::context * ); // rational simplifications
1584   gen normal(const gen & e,bool distribute_div,giac::context * );
1585   gen normalize_sqrt(const gen & e,giac::context * );
1586   gen recursive_normal(const gen & e,giac::context * );
1587   gen _recursive_normal(const gen & e,giac::context * );
1588   gen recursive_normal(const gen & e,bool distribute_div,giac::context * );
1589   gen factor(const gen & e,bool withsqrt,giac::context * ); // full factorization (alg ext)
1590   gen ratfactor(const gen & e,bool withsqrt,giac::context * ); // full factorization (rat)
1591   gen factor(const gen & e,const gen & f,bool withsqrt,giac::context * );
1592   gen _factor(const gen & args,giac::context * );
1593   gen _collect(const gen & args,giac::context * );
1594   gen factorcollect(const gen & args,bool with_sqrt,giac::context * );
1595   gen partfrac(const gen & e,const giac::vecteur & l,bool withsqrt,giac::context * );
1596   gen partfrac(const gen & e,bool withsqrt,giac::context * );
1597   gen partfrac(const gen & e,const giac::identificateur & x,bool withsqrt,giac::context * );
1598   gen partfrac(const gen & e,const gen & f,bool withsqrt,giac::context * );
1599   gen _partfrac(const gen & args,giac::context * );
1600   gen _resultant(const gen & args,giac::context * );
1601   gen cklvar(const gen & e,giac::context * );
1602   gen ckalgvar(const gen & e,giac::context * );
1603 
1604   bool sym2r (const gen &e,const gen & iext,const giac::vecteur &l,const giac::vecteur & lv, const giac::vecteur & lvnum,const giac::vecteur & lvden, int l_size, gen & num,gen & den,giac::context * );
1605   bool sym2r (const gen &e,const giac::vecteur &l, int l_size, gen & num,gen & den,giac::context * );
1606   gen e2r(const gen & e,const giac::vecteur & l,giac::context * );
1607   gen e2r(const gen & e,const gen & x,giac::context * );
1608   gen _e2r(const gen & args,giac::context * );
1609   gen r2sym(const giac::polynome & p, const giac::vecteur & l,giac::context * );
1610   gen r2sym(const gen & p, const giac::vecteur & l,giac::context * );
1611   gen r2e(const gen & p,const giac::vecteur & l,giac::context * );
1612   gen r2e(const gen & r,const gen & x,giac::context * );
1613   gen _r2e(const gen & args,giac::context * );
1614   gen r2sym(const giac::fraction & f, const giac::vecteur & l,giac::context * );
1615   gen r2sym(const giac::factorization & vnum,const giac::vecteur & l,giac::context * );
1616   std::string & add_print(std::string & s,const gen & g,giac::context * );
1617   void evalfdouble2reim(const gen & a,gen & e,gen & f0,gen & f1,giac::context * );
1618   std::string gen2tex(const gen & e,giac::context * );
1619   gen graph2tex(const gen & args,const giac::vecteur & v,giac::context * );
1620   gen _graph2tex(const gen & args,giac::context * );
1621   gen _graph3d2tex(const gen & args,giac::context * );
1622   gen _latex(const gen & args,giac::context * );
1623   gen _seq(const gen & g,giac::context * );
1624   gen _logb(const gen & g,giac::context * );
1625   gen _getType(const gen & g,giac::context * );
1626   gen _Define(const gen & g,giac::context * );
1627   gen _isprime(const gen & args,giac::context * );
1628   gen _Input(const gen & args,giac::context * );
1629   gen _InputStr(const gen & g,giac::context * );
1630   gen _Prompt(const gen & g,giac::context * );
1631   gen _cSolve(const gen & g,giac::context * );
1632   gen _cFactor(const gen & g,giac::context * );
1633   gen _cpartfrac(const gen & g,giac::context * );
1634   gen _nSolve(const gen & g,giac::context * );
1635   gen _zeros(const gen & g,giac::context * );
1636   gen _cZeros(const gen & g,giac::context * );
1637   gen _getDenom(const gen & g,giac::context * );
1638   gen _denom(const gen & g,giac::context * );
1639   gen _getNum(const gen & g,giac::context * );
1640   gen _numer(const gen & g,giac::context * );
1641   gen _tExpand(const gen & g,giac::context * );
1642   gen _comDenom(const gen & g,giac::context * );
1643   gen _randPoly(const gen & g,giac::context * );
1644   gen _nInt(const gen & g,giac::context * );
1645   gen _nDeriv(const gen & g,giac::context * );
1646   gen _avgRC(const gen & g,giac::context * );
1647   gen _fMin(const gen & g,giac::context * );
1648   gen _fMax(const gen & g,giac::context * );
1649   gen _taylor(const gen & g,giac::context * );
1650   gen _arcLen(const gen & g,giac::context * );
1651   gen _dim(const gen & g,giac::context * );
1652   gen _format(const gen & g,giac::context * );
1653   gen _inString(const gen & g,giac::context * );
1654   gen _left(const gen & g,giac::context * );
1655   gen _right(const gen & g,giac::context * );
1656   gen _mid(const gen & g,giac::context * );
1657   gen _ord(const gen & g,giac::context * );
1658   gen _rotate(const gen & g,giac::context * );
1659   gen _shift(const gen & g,giac::context * );
1660   gen _augment(const gen & g,giac::context * );
1661   gen _semi_augment(const gen & g,giac::context * );
1662   gen _cumSum(const gen & g,giac::context * );
1663   gen _exp2list(const gen & g,giac::context * );
1664   gen _list2mat(const gen & g,giac::context * );
1665   gen _deltalist(const gen & g,giac::context * );
1666   gen _mat2list(const gen & g,giac::context * );
1667   gen _newList(const gen & g,giac::context * );
1668   gen _polyEval(const gen & g,giac::context * );
1669   gen _product(const gen & g,giac::context * );
1670   gen _SortA(const gen & g,giac::context * );
1671   gen _SortD(const gen & g,giac::context * );
1672   gen _int(const gen & g,giac::context * );
1673   gen _iPart(const gen & g,giac::context * );
1674   gen _Fill(const gen & g,giac::context * );
1675   gen _mRow(const gen & g,giac::context * );
1676   gen _mRowAdd(const gen & g,giac::context * );
1677   gen _rowAdd(const gen & g,giac::context * );
1678   gen _rowSwap(const gen & g,giac::context * );
1679   gen _LU(const gen & g,giac::context * );
1680   gen _QR(const gen & g,giac::context * );
1681   gen _newMat(const gen & g,giac::context * );
1682   gen _ref(const gen & a,giac::context * ) ;
1683   gen _subMat(const gen & g,giac::context * ) ;
1684   gen _unitV(const gen & g,giac::context * ) ;
1685   gen _rowNorm(const gen & g,giac::context * ) ;
1686   gen _colNorm(const gen & g,giac::context * ) ;
1687   gen _Archive(const gen & g,giac::context * );
1688   gen _Unarchiv(const gen & g,giac::context * );
1689   gen _ClrIO(const gen & g,giac::context * );
1690   gen _Output(const gen & g,giac::context * );
1691   gen _getKey(const gen & g,giac::context * );
1692   gen _DelFold(const gen & g,giac::context * );
1693   gen _DispG(const gen & g,giac::context * );
1694   gen _DispHome(const gen & g,giac::context * );
1695   gen _Exec(const gen & g,giac::context * );
1696   gen _NewFold(const gen & g,giac::context * );
1697   gen _GetFold(const gen & g,giac::context * );
1698   gen _StoPic(const gen & g,giac::context * );
1699   gen _RclPic(const gen & g,giac::context * );
1700   gen _RplcPic(const gen & g,giac::context * );
1701   gen _ClrGraph(const gen & g,giac::context * );
1702   gen _PtOn(const gen & g,giac::context * );
1703   gen _PtOff(const gen & g,giac::context * );
1704   gen _Line(const gen & g,giac::context * );
1705   gen _LineHorz(const gen & g,giac::context * );
1706   gen _LineVert(const gen & g,giac::context * );
1707   gen _DrawSlp(const gen & g,giac::context * );
1708   gen _Circle(const gen & g,giac::context * );
1709   gen _PtText(const gen & g,giac::context * );
1710   gen _NewPic(const gen & g,giac::context * );
1711   gen _ZoomSto(const gen & g,giac::context * );
1712   gen _ZoomRcl(const gen & g,giac::context * );
1713   gen _deSolve(const gen & g,giac::context * );
1714   gen _LineTan(const gen & g,giac::context * );
1715   gen _CyclePic(const gen & g,giac::context * );
1716   gen _RandSeed(const gen & g,giac::context * );
1717   gen exact(const gen & g,giac::context * );
1718   gen fPart(const gen & g,giac::context * );
1719   gen simult(const gen & g,giac::context * );
1720   // gen make_symbol(const std::string & s,giac::context * );
1721   gen _unarchive_ti(const gen & g,giac::context * );
1722   gen _sialorssinon(const gen & g,giac::context * );
1723   gen _pour(const gen & g,giac::context * );
1724   gen _unarchive_ti(const gen & args,giac::context * );
1725   std::string printsommetasoperator(const gen & feuille,const char * sommetstr,giac::context * );
1726   std::string texprintsommetasoperator(const gen & feuille,const char * sommetstr,giac::context * );
1727   gen taylor(const gen & lim_point,int order,const giac::unary_function_ptr & D, int direction,gen & shift_coeff,giac::context * );
1728   gen apply(const gen & e,const giac::unary_function_ptr & f,giac::context * );
1729   gen frac_neg_out(const gen & g,giac::context * );
1730   gen _constant_one(const gen & args,giac::context * );
1731   gen _constant_zero(const gen & args,giac::context * );
1732   gen _rm_a_z(const gen & args,giac::context * );
1733   gen _id(const gen & args,giac::context * );
1734   gen _not(const gen & args,giac::context * );
1735   gen _neg(const gen & args,giac::context * );
1736   gen _inv(const gen & args,giac::context * );
1737   gen ln(const gen & e,giac::context * );
1738   gen log(const gen & e,giac::context * );
1739   gen log10(const gen & e,giac::context * );
1740   gen alog10(const gen & e,giac::context * );
1741   gen atan(const gen & e0,giac::context * );
1742   gen exp(const gen & e0,giac::context * );
1743   std::string gen2string(const gen & g,int format,giac::context * );
1744   std::string print_with_parenthesis_if_required(const gen & g,int format,giac::context * );
1745   gen sqrt_noabs(const gen & e,giac::context * );
1746   gen sqrt(const gen & e,giac::context * );
1747   gen sqrt_mod(const gen & a,const gen & b,bool isprime,giac::context * ); // set isprime to true if b is prime
1748   gen sin(const gen & e,giac::context * );
1749   gen cos(const gen & e,giac::context * );
1750   gen tan(const gen & e,giac::context * );
1751   gen asin(const gen & e,giac::context * );
1752   gen acos(const gen & e,giac::context * );
1753   gen sinh(const gen & e,giac::context * );
1754   gen cosh(const gen & e,giac::context * );
1755   gen tanh(const gen & e,giac::context * );
1756   gen asinh(const gen & e,giac::context * );
1757   gen acosh(const gen & e,giac::context * );
1758   gen atanh(const gen & e,giac::context * );
1759   gen quote(const gen & e,giac::context * );
1760   gen unquote(const gen & e,giac::context * );
1761   gen re(const gen & a,giac::context * );
1762   gen im(const gen & a,giac::context * );
1763   gen conj(const gen & a,giac::context * );
1764   gen _sign(const gen & g,giac::context * );
1765   gen order_size(const gen & e,giac::context * );
1766   gen _and(const gen & args,giac::context * );
1767   gen _ou(const gen & args,giac::context * );
1768   gen _xor(const gen & args,giac::context * );
1769   gen xor2(const gen & a,const gen & b,giac::context * );
1770   gen _min(const gen & args,giac::context * );
1771   gen _max(const gen & args,giac::context * );
1772   gen _gcd(const gen & args,giac::context * );
1773   gen _lcm(const gen & args,giac::context * );
1774   gen _egcd(const gen & args,giac::context * );
1775   gen _iegcd(const gen & args,giac::context * );
1776   gen _iquo(const gen & args,giac::context * );
1777   gen _irem(const gen & args,giac::context * );
1778   // gen _mods(const gen & args,giac::context * );
1779   gen _quote_pow(const gen & args,giac::context * );
1780   gen _iquorem(const gen & args,giac::context * );
1781   gen _smod(const gen & args,giac::context * );
1782   gen _rdiv(const gen & args,giac::context * );
1783   gen _is_prime(const gen & args,giac::context * );
1784   gen _is_pseudoprime(const gen & args,giac::context * );
1785   gen nextprime1(const gen & a,giac::context * );
1786   gen prevprime1(const gen & a,giac::context * );
1787   // gen _nextprime(const gen & args,giac::context * );
1788   // gen _prevprime(const gen & args,giac::context * );
1789   gen _jacobi_symbol(const gen & args,giac::context * );
1790   gen _legendre_symbol(const gen & args,giac::context * );
1791   gen _floor(const gen & args,giac::context * );
1792   gen _ceil(const gen & args,giac::context * );
1793   gen ceil2floor(const gen & g,giac::context * );
1794   gen _round(const gen & args,giac::context * );
1795   gen _print(const gen & args,giac::context * );
1796   gen _ichinrem(const gen & args,giac::context * );
1797   gen double_is_int(const gen & g,giac::context * );
1798   gen _fracmod(const gen & args,giac::context * );
1799   gen _factorial(const gen & args,giac::context * );
1800   gen _perm(const gen & args,giac::context * );
1801   gen comb(const gen & n,const gen &k,giac::context * );
1802   gen _comb(const gen & args,giac::context * );
1803   gen _chinrem(const gen & args,giac::context * );
1804   gen _abs(const gen & args,giac::context * );
1805   gen _cyclotomic(const gen & a,giac::context * );
1806   gen _calc_mode(const gen & args,giac::context * );
1807   gen _quorem(const gen & args,giac::context * );
1808   gen _quo(const gen & args,giac::context * );
1809   gen _rem(const gen & args,giac::context * );
1810   gen sto(const gen & a,const gen & b,giac::context * );
1811   gen sto(const gen & a,const gen & b,bool in_place,giac::context * );
1812   bool is_assumed_integer(const gen & g,giac::context * );
1813   gen giac_assume(const gen & a,giac::context * );
1814   gen giac_additionally(const gen & a,giac::context * );
1815   gen doubleassume_and(const giac::vecteur & v,const gen & a,int direction,bool or_assumption,giac::context * );
1816   gen _equal(const gen & args,giac::context * );
1817   gen _same(const gen & args,giac::context * );
1818   gen _inferieur_strict(const gen & args,giac::context * );
1819   gen _inferieur_egal(const gen & args,giac::context * );
1820   gen _superieur_strict(const gen & args,giac::context * );
1821   gen _superieur_egal(const gen & args,giac::context * );
1822   gen _different(const gen & args,giac::context * );
1823   gen check_symb_of(const gen & a,const gen & b,giac::context * );
1824   gen _of(const gen & args,giac::context * );
1825   gen _at(const gen & args,giac::context * );
1826   gen _table(const gen & args,giac::context * );
1827   gen _plus(const gen & args,giac::context * );
1828   gen _prod(const gen & args,giac::context * );
1829   std::string cprintaspow(const gen & feuille,const char * sommetstr_orig,giac::context * );
1830   gen _pow(const gen & args,giac::context * );
1831   gen _powmod(const gen & args,giac::context * );
1832   gen _eval(const gen & a,giac::context * );
1833   gen _evalf(const gen &,giac::context * );
1834   gen _subst(const gen & args,giac::context * );
1835   gen _subs(const gen & args,giac::context * );
1836   gen _maple_subs(const gen & args,giac::context * );
1837   gen _ampersand_times(const gen & g,giac::context * );
1838   gen _version(const gen & a,giac::context * );
1839   gen Gamma(const gen & x,giac::context * );
1840   gen _Gamma(const gen & args,giac::context * );
1841   gen lngamma(const gen & x,giac::context * );
1842   gen Psi(const gen & x,giac::context * );
1843   gen Psi(const gen & x,int n,giac::context * );
1844   gen _Psi(const gen & args,giac::context * );
1845   gen Zeta(const gen & x,giac::context * );
1846   gen _Zeta(const gen & args,giac::context * );
1847   gen _erf(const gen & args,giac::context * );
1848   gen erf(const gen & args,giac::context * );
1849   gen _erfc(const gen & args,giac::context * );
1850   gen erfc(const gen & args,giac::context * );
1851   gen _Ci(const gen & g,giac::context * );
1852   gen _Si(const gen & g,giac::context * );
1853   gen _Ei(const gen & g,giac::context * );
1854   gen _Heaviside(const gen & args,giac::context * );
1855   gen _Dirac(const gen & args,giac::context * );
1856   gen _multistring(const gen & args,giac::context * );
1857   gen Gamma(const gen & x,giac::context * );
1858   gen _Gamma(const gen & args,giac::context * ) ;
1859   gen Psi(const gen & x,giac::context * );
1860   gen Psi(const gen & x,int n,giac::context * );
1861   gen _Psi(const gen & args,giac::context * ) ;
1862   gen _normalmod(const gen & g,giac::context * );
1863   gen alternate_series(const gen & a,const gen & x,int n,giac::context * );
1864   gen Eta(const gen & s,int ndiff,giac::context * );
1865   gen Eta(const gen & s0,giac::context * );
1866   gen Zeta(const gen & x,int ndiff,giac::context * );
1867   gen Zeta(const gen & x,giac::context * );
1868   gen _Zeta(const gen & args,giac::context * ) ;
1869   gen _Eta(const gen & args,giac::context * ) ;
1870   gen _erfs(const gen & g,giac::context * );
1871   gen erf(const gen & x,giac::context * );
1872   gen _erf(const gen & args,giac::context * );
1873   gen erfc(const gen & x,giac::context * );
1874   gen _erfc(const gen & args,giac::context * );
1875   gen _SiCi_f(const gen & args,giac::context * );
1876   gen _SiCi_g(const gen & args,giac::context * );
1877   gen _Si(const gen & args,giac::context * );
1878   gen _Ci(const gen & args,giac::context * );
1879   gen _Ci0(const gen & args,giac::context * );
1880   gen _Ei_f(const gen & args,giac::context * );
1881   gen Ei(const gen & args,giac::context * );
1882   gen Ei(const gen & args,int n,giac::context * );
1883   gen _Ei(const gen & args,giac::context * );
1884   gen _Ei0(const gen & args,giac::context * );
1885   gen Ci_replace0(const gen & g,giac::context * );
1886   gen Ei_replace0(const gen & g,giac::context * );
1887   gen _Dirac(const gen & args,giac::context * );
1888   gen _Heaviside(const gen & args,giac::context * );
1889   std::string printassubs(const gen & feuille,const char * sommetstr,giac::context * );
1890   std::string printasmaple_subs(const gen & feuille,const char * sommetstr,giac::context * );
1891   std::string printassto(const gen & feuille,const char * sommetstr,giac::context * );
1892   gen _proot(const gen & e,giac::context * );
1893   gen _pcoeff(const gen & e,giac::context * );
1894   gen _peval(const gen & e,giac::context * );
1895   gen spread_convert(const gen & g,int g_row,int g_col,giac::context * );
1896   bool iscell(const gen & g,int & r,int & c,giac::context * );
1897   giac::matrice matrice_insert(const giac::matrice & m,int insert_row,int insert_col,int nrows,int ncols,const gen & fill,giac::context * );
1898   gen cross(const gen & g1,const gen & g2,giac::context * );
1899   gen _tran(const gen & a,giac::context * );
1900   gen ckmtrace(const gen & a,giac::context * );
1901   bool mrref(const giac::matrice & a, giac::matrice & res, giac::vecteur & pivots, gen & det,giac::context * );
1902   gen _rref(const gen & a,giac::context * ); // first non 0 elem in row is 1
1903   gen _idn(const gen & e,giac::context * );
1904   giac::vecteur vranm(int n,const gen & f,giac::context * );
1905   giac::matrice mranm(int n,int m,const gen & f,giac::context * ); // random matrix using f
1906   gen _ranm(const gen & e,giac::context * );
1907   gen _randvector(const gen & e,giac::context * );
1908   gen _padic_linsolve(const gen & g,giac::context * );
1909   gen mdet(const giac::matrice & a,giac::context * );
1910   gen _det(const gen & a,giac::context * );
1911   //gen _det_minor(const gen & g,bool convert_internal,giac::context * );
1912   gen _sylvester(const gen & a,giac::context * );
1913   gen _hessenberg(const gen & g,giac::context * );
1914   gen _pcar_hessenberg(const gen & g,giac::context * );
1915   gen _hessenberg(const gen & g0,giac::context * );
1916   gen _pcar(const gen & a,giac::context * );
1917   bool egv(const giac::matrice & m,giac::matrice & p,giac::vecteur & d, giac::context * , bool jordan,bool rational_jordan_form,bool eigenvalues_only);
1918   gen _egv(const gen & a,giac::context * );
1919   gen _svd(const gen & a,giac::context * );
1920   gen _egvl(const gen & a,giac::context * );
1921   gen _jordan(const gen & a,giac::context * );
1922   gen jordan(const gen & a,bool rational_jordan,giac::context * );
1923   gen _rat_jordan(const gen & a,giac::context * );
1924   gen _rat_jordan_block(const gen &args,giac::context * );
1925   giac::matrice diagonal_apply(const gen & g,const gen & x,const giac::matrice & m,giac::context * );
1926   giac::matrice analytic_apply(const gen &ux,const gen & x,const giac::matrice & m,giac::context * );
1927   giac::matrice matpow(const giac::matrice & m,const gen & n,giac::context * );
1928   gen _matpow(const gen & a,giac::context * );
1929   gen _ker(const gen & a,giac::context * );
1930   gen _image(const gen & a,giac::context * );
1931   gen _cross(const gen & a,giac::context * );
1932   gen _size(const gen & a,giac::context * );
1933   gen lu(const gen & a,giac::context * );
1934   gen qr(const gen & a,giac::context * );
1935   gen _cholesky(const gen & a,giac::context * );
1936   gen _svd(const gen & a,giac::context * );
1937   gen _basis(const gen & a,giac::context * );
1938   gen _ibasis(const gen & a,giac::context * );
1939   gen _cell(const gen & a,giac::context * );
1940   gen l2norm(const giac::vecteur & v,giac::context * );
1941   gen _lll(const gen & g,giac::context * );
1942   gen _ihermite(const gen & g,giac::context * );
1943   gen _ismith(const gen & g,giac::context * );
1944   gen _csv2gen(const gen & g,giac::context * );
1945   giac::matrice csv2gen(std::istream & i,char sep,char nl,char decsep,char eof,giac::context * );
1946 }
1947 
1948 
1949