1--> variables globales embetantes <--
2Toutes les variables relatives au lexer/parser -> on ne peut pas parser en
3parallele dans des threads
4// gausspol.cc
5  bool ingcd=false;
6Relatif a l'affichage pendant le pgcd de polynomes, pas grave
7// identificateur.cc
8  bool local_eval;
9Cf. class unary_function_eval, modifs a faire dans l'evaluation pour
10tenir compte du contexte
11// vecteur.cc
12  int printcell_current_row=0,printcell_current_col=0;
13  int spread_Row=0,spread_Col=0;
14Relatif a l'evaluation du tableur
15---> Liste des var globales exceptes unary_function_ptr et const string <---
16// File Eqw.cc
17  vector<string> completion_tab;
18// File alg_ext.cc
19  rootmap symbolic_rootof_list(ptr_fun(islesscomplex));
20// File derive.cc
21// File desolve.cc
22  identificateur laplace_var(" s");
23// File eqw.cc
24// File ezgcd.cc
25// File first.cc
26// File gauss.cc
27// File gausspol.cc
28  bool ingcd=false;
29  int inspectdim=12;
30// File gen.cc
31  bool expand_re_im=true;
32  // bool is_inevalf=false;
33  //  throw(std::runtime_error("Parse error"));
34  int decimal_digits=12;
35  gen zero(0);
36  gen minus_one(-1);
37  gen plus_one(1);
38  gen plus_two(2);
39  gen plus_three(3);
40  gen cst_i(0,1);
41  double rad2deg_d(180/M_PI);
42  double deg2rad_d(M_PI/180);
43  gen rad2deg_g(rad2deg_d);
44  gen deg2rad_g(deg2rad_d);
45  const vecteur null_vector;
46  list<__mpz_struct> zint_list;
47// File global.cc
48  bool secure_run=true;
49  bool center_history=false;
50  bool in_texmacs=false;
51  bool block_signal=false;
52  int history_begin_level=0;
53  int first_error_line=-1;
54  string error_token_name;
55  int debug_infolevel=0;
56  double epsilon=100*numeric_limits<double>::epsilon();
57  double epsilon=1e-10;
58  int threads=1;
59  bool increasing_power=false;
60  string cas_suffixe(".cas");
61  int TEST_PROBAB_PRIME=25;
62  int GCDHEU_MAXTRY=5;
63  int GCDHEU_DEGREE=100;
64  int MODFACTOR_PRIMES =5;
65  int HENSEL_QUADRATIC_POWER=25;
66  int KARAMUL_SIZE=17;
67  int INT_KARAMUL_SIZE=300;
68  int MAX_ALG_EXT_ORDER_SIZE = 5;
69  int TRY_FU_UPRIME=5;
70  int SOLVER_MAX_ITERATE=25;
71  const int BUFFER_SIZE=16384;
72  pid_t parent_id=getpid();
73  volatile bool signal_plot_parent=false;
74  volatile bool child_busy=false,data_ready=false;
75  volatile bool ctrl_c=false;
76  char buf[BUFFER_SIZE];
77  bool running_file=false;
78  string xcasrc("xcas.rc");
79  string xcasrc(".xcasrc");
80  bool synchronize_history=true;
81// File help.cc
82  multimap<string,string> html_mtt,html_mall;
83  std::vector<std::string> html_vtt,html_vall;
84  int language=1;
85  const int BUFFER_SIZE=16383;
86  string subdir_strings[]={"casflan","casgeo","casrouge","cassim","tutoriel"};
87  int subdir_taille=5;
88// File identificateur.cc
89  bool variables_are_files=false;
90  string string_pi("pi");
91  identificateur _IDNT_pi(string_pi,(double) M_PI);
92  gen cst_pi(_IDNT_pi);
93  string string_infinity("infinity");
94  identificateur _IDNT_infinity(string_infinity);
95  gen unsigned_inf(_IDNT_infinity);
96  gen cst_two_pi(symbolic(at_prod,makevecteur(2,cst_pi)));
97  gen cst_pi_over_2(_FRAC2_SYMB(cst_pi,2));
98  gen plus_inf(symbolic(at_plus,_IDNT_infinity));
99  gen minus_inf(symbolic(at_neg,_IDNT_infinity));
100  string string_undef("undef");
101  identificateur _IDNT_undef(string_undef);
102  gen undef(_IDNT_undef);
103  identificateur a__IDNT("a");
104  gen a__IDNT_e(a__IDNT);
105  identificateur b__IDNT("b");
106  gen b__IDNT_e(b__IDNT);
107  identificateur c__IDNT("c");
108  gen c__IDNT_e(c__IDNT);
109  identificateur d__IDNT("d");
110  gen d__IDNT_e(d__IDNT);
111  identificateur e__IDNT("e",(double) M_E);
112  gen e__IDNT_e(e__IDNT);
113  identificateur e__IDNT_("maple_e");
114  gen e__IDNT_e_(e__IDNT_);
115  identificateur f__IDNT("f");
116  gen f__IDNT_e(f__IDNT);
117  identificateur g__IDNT("g");
118  gen g__IDNT_e(g__IDNT);
119  identificateur h__IDNT("h");
120  gen h__IDNT_e(h__IDNT);
121  identificateur i__IDNT("i");
122  gen i__IDNT_e(i__IDNT);
123  identificateur I__IDNT("I");
124  gen I__IDNT_e(I__IDNT);
125  identificateur j__IDNT("j");
126  gen j__IDNT_e(j__IDNT);
127  identificateur k__IDNT("k");
128  gen k__IDNT_e(k__IDNT);
129  identificateur l__IDNT("l");
130  gen l__IDNT_e(l__IDNT);
131  identificateur m__IDNT("m");
132  gen m__IDNT_e(m__IDNT);
133  identificateur n__IDNT("n");
134  gen n__IDNT_e(n__IDNT);
135  identificateur o__IDNT("o");
136  gen o__IDNT_e(o__IDNT);
137  identificateur p__IDNT("p");
138  gen p__IDNT_e(p__IDNT);
139  identificateur q__IDNT("q");
140  gen q__IDNT_e(q__IDNT);
141  identificateur r__IDNT("r");
142  gen r__IDNT_e(r__IDNT);
143  identificateur s__IDNT("s");
144  gen s__IDNT_e(s__IDNT);
145  identificateur t__IDNT("t");
146  gen t__IDNT_e(t__IDNT);
147  identificateur u__IDNT("u");
148  gen u__IDNT_e(u__IDNT);
149  identificateur v__IDNT("v");
150  gen v__IDNT_e(v__IDNT);
151  identificateur w__IDNT("w");
152  gen w__IDNT_e(w__IDNT);
153  identificateur x__IDNT("x");
154  gen x__IDNT_e(x__IDNT);
155  gen vx_var(x__IDNT_e);
156  identificateur y__IDNT("y");
157  gen y__IDNT_e(y__IDNT);
158  identificateur z__IDNT("z");
159  gen z__IDNT_e(z__IDNT);
160  identificateur CST__IDNT("CST");
161  gen CST__IDNT_e(CST__IDNT);
162  identificateur PICT__IDNT("PICT");
163  gen PICT__IDNT_e(PICT__IDNT);
164  gen tab_one_char__IDNT[]={a__IDNT_e,b__IDNT_e,c__IDNT_e,d__IDNT_e,e__IDNT_e,f__IDNT_e,g__IDNT_e,h__IDNT_e,i__IDNT_e,I__IDNT_e,j__IDNT_e,k__IDNT_e,l__IDNT_e,m__IDNT_e,n__IDNT_e,o__IDNT_e,p__IDNT_e,q__IDNT_e,r__IDNT_e,s__IDNT_e,t__IDNT_e,u__IDNT_e,v__IDNT_e,w__IDNT_e,x__IDNT_e,y__IDNT_e,z__IDNT_e,CST__IDNT_e,PICT__IDNT_e,zero};
165  vecteur list_one_letter__IDNT(tab2vecteur(tab_one_char__IDNT));
166  string string_break("break");
167  identificateur _IDNT_break(string_break);
168  string string_continue("continue");
169  identificateur _IDNT_continue(string_continue);
170  bool local_eval=true;
171// File ifactor.cc
172// File index.cc
173// File intg.cc
174  bool do_lnabs=true;
175  extern unary_function_ptr primitive_tab_op[];
176  extern unary_function_ptr inverse_tab_op[];
177  gen_op primitive_tab_primitive[]={giac::int_sin,giac::int_cos,giac::int_tan,giac::exp,giac::cosh,giac::sinh,giac::int_tanh,giac::int_asin,giac::int_acos,giac::int_atan,giac::xln_x};
178// File isom.cc
179// File lin.cc
180// File maple.cc
181  extern unary_function_ptr at_count;
182// File mathml.cc
183  using namespace giac;
184  double horiz_mathml=12.;
185  double vert_mathml=12.;
186  string mathml_preamble("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN\"\n\"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd\" [\n<!ENTITY mathml \"http://www.w3.org/1998/Math/MathML\">\n]>\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<body>\n");
187  string mathml_end("\n</body>\n</html>");
188  string math_begin("<math mode=\"display\" xmlns=\"http://www.w3.org/1998/Math/MathML\">\n");
189  string math_end("</math>");
190  string provisoire_mbox_begin("<mi>");
191  string provisoire_mbox_end("</mi>");
192  //   return "\\overline{"+gen2tex(g)+"}";
193// File misc.cc
194// File modfactor.cc
195// File modpoly.cc
196  int debuglevel=0;
197  clock_t debut_time,fin_time;
198// File moyal.cc
199// File pari.cc
200  long pari_maxprime=100000;
201// File permu.cc
202// File plot.cc
203  int LEGENDE_SIZE=36;
204  int COORD_SIZE=26;
205  int PARAM_STEP=18;
206  int LEGENDE_SIZE=44;
207  int COORD_SIZE=30;
208  int PARAM_STEP=20;
209  vecteur plot_instructions,graph_instructions;
210  int plot_instructionsh=300,plot_instructionsw=300;
211  bool shift_on=false;
212  bool run_modif=false;
213  bool win9x=false;
214  int run_modif_pos;
215  pid_t gnuplot_pid=0;
216  string gnuplot_name(giac_gnuplot_location);
217  int gnuplot_fileno=0;
218  int gnuplot_pipe[2];
219  string gnuplot_filename("graph3d");
220  int _GROUP__VECT_subtype[]={_GROUP__VECT,_LINE__VECT,_VECTOR__VECT,0};
221  double gnuplot_xmin=-4,gnuplot_xmax=4,gnuplot_ymin=-5,gnuplot_ymax=2,gnuplot_zmin=-10,gnuplot_zmax=10,gnuplot_tmin=-1,gnuplot_tmax=6,gnuplot_tstep=0.07;
222  double gnuplot_xmin=-5,gnuplot_xmax=5,gnuplot_ymin=-5,gnuplot_ymax=2,gnuplot_zmin=-10,gnuplot_zmax=10,gnuplot_tmin=-1,gnuplot_tmax=6,gnuplot_tstep=0.07;
223  double window_xmin(gnuplot_xmin),window_xmax(gnuplot_xmax),window_ymin(-2),window_ymax(gnuplot_ymax);
224  double x_tick(1.0),y_tick(1.0);
225  double class_minimum(0.0),class_size(1.0);
226  int gnuplot_pixels_per_eval=2;
227  bool autoscale=true;
228  bool show_axes=true;
229  bool has_gnuplot=true;
230  bool as_function_of_mode=false;
231  bool redraw_mouse_position_only=false;
232  bool fastcurveprint=false;
233  string PICTautoname("A");
234// File prog.cc
235  modules_tab giac_modules_tab;
236  int indent_spaces=0;
237  bool complex_mode=false,angle_radian=true,complex_variables=false,approx_mode=false;
238  vecteur args_stack;
239  bool debug_mode=false;
240  bool debug_allowed=true;
241  vector<int> current_instruction_stack;
242  int current_instruction;
243  vector< vector<int> > sst_at_stack;
244  vector<int> sst_at;
245  gen debug_info,fast_debug_info;
246  bool debug_refresh=false;
247  gen sorting_function;
248  bool user_screen=false;
249  int user_screen_io_x=0,user_screen_io_y=0;
250  int user_screen_fontsize=14;
251  gen current_folder_name;
252// File quater.cc
253// File rpn.cc
254  vecteur history_in,history_out;
255  bool rpn_mode=false;
256// File series.cc
257  bool inside_limit=false;
258  vecteur sincosinf;
259  gen default_ordre=20;
260// File solve.cc
261  int NEWTON_DEFAULT_ITERATION=20;
262  int intvar_counter=0;
263  int realvar_counter=0;
264  gen (* isolate_fcns[] ) (const gen &,int) = { isolate_exp,isolate_ln,isolate_sin,isolate_cos,isolate_tan,isolate_asin,isolate_acos,isolate_atan};
265// File subst.cc
266  bool quote_subst=false;
267// File sym2poly.cc
268// File symbolic.cc
269  string last_evaled_function_name;
270// File tex.cc
271  double horiz_latex=12.;
272  double vert_latex=12.;
273  string tex_preamble("\\documentclass{article} \n \\usepackage{pstricks} \n \\begin{document} \n");
274  string tex_end("\n\\end{document}");
275  string mbox_begin("\\mbox{");
276  string mbox_end("}");
277// File ti89.cc
278  vecteur zoom_save;
279// File unary.cc
280// File usual.cc
281  string messages_to_print ;
282  bool signal_store=true;
283  vector<unary_function_ptr > solve_fcns_v(solve_fcns,solve_fcns+8);
284  gen cst_two_pi(symbolic(at_prod,makevecteur(2,cst_pi)));
285  gen cst_pi_over_2(_FRAC2_SYMB(cst_pi,2));
286  gen plus_inf(symbolic(at_plus,_IDNT_infinity));
287  gen minus_inf(symbolic(at_neg,_IDNT_infinity));
288  gen plus_one_half(fraction(1,2));
289  gen minus_one_half(-symb_inv(2));
290  gen plus_sqrt3(sqrt(3));
291  gen plus_sqrt2(sqrt(2));
292  gen minus_sqrt3_2(-_FRAC2_SYMB(plus_sqrt3,2));
293  gen minus_sqrt2_2(-_FRAC2_SYMB(plus_sqrt2,2));
294  gen minus_sqrt3_3(-_FRAC2_SYMB(plus_sqrt3,3));
295  gen minus_sqrt3(-plus_sqrt3);
296  gen minus_sqrt2(-plus_sqrt2);
297  gen plus_sqrt3_2(_FRAC2_SYMB(plus_sqrt3,2));
298  gen plus_sqrt2_2(_FRAC2_SYMB(plus_sqrt2,2));
299  gen plus_sqrt3_3(_FRAC2_SYMB(plus_sqrt3,3));
300  gen rad2deg_e(_FRAC2_SYMB(180,cst_pi));
301  gen deg2rad_e(_FRAC2_SYMB(cst_pi,180));
302  vector<unary_function_ptr> sincostan_v(sincostan_tab,sincostan_tab+3);
303  vector<unary_function_ptr> asinacosatan_v(asinacosatan_tab,asinacosatan_tab+3);
304  vector<unary_function_ptr> sinhcoshtanh_v(sinhcoshtanh_tab,sinhcoshtanh_tab+3);
305  vector <unary_function_ptr> sincostansinhcoshtanh_v(merge(sincostan_v,sinhcoshtanh_v));
306  vector<unary_function_ptr> exp_v(1,at_exp);
307  vector<unary_function_ptr> tan_v(1,at_tan);
308  vector<unary_function_ptr> asin_v(1,at_asin);
309  vector<unary_function_ptr> acos_v(1,at_acos);
310  vector<unary_function_ptr> atan_v(1,at_atan);
311  vector<unary_function_ptr> pow_v(1,at_pow);
312  gen_op halftan_tab[]={sin2tan2,cos2tan2,tan2tan2};
313  gen_op hyp2exp_tab[]={sinh2exp,cosh2exp,tanh2exp};
314  gen_op trig2exp_tab[]={sin2exp,cos2exp,tan2exp};
315  gen_op atrig2ln_tab[]={asin2ln,acos2ln,atan2ln};
316  vector< gen_op > halftan_v(halftan_tab,halftan_tab+3);
317  vector< gen_op > hyp2exp_v(hyp2exp_tab,hyp2exp_tab+3);
318  vector< gen_op > trig2exp_v(trig2exp_tab,trig2exp_tab+3);
319  vector< gen_op > halftan_hyp2exp_v(merge(halftan_v,hyp2exp_v));
320  vector< gen_op > exp2sincos_v(1,exp2sincos);
321  vector< gen_op > tan2sincos_v(1,tantosincos);
322  vector< gen_op > tan2sincos2_v(1,tantosincos2);
323  vector< gen_op > tan2cossin2_v(1,tantocossin2);
324  vector< gen_op > asin2acos_v(1,asintoacos);
325  vector< gen_op > asin2atan_v(1,asintoatan);
326  vector< gen_op > acos2asin_v(1,acostoasin);
327  vector< gen_op > acos2atan_v(1,acostoatan);
328  vector< gen_op > atan2asin_v(1,atantoasin);
329  vector< gen_op > atan2acos_v(1,atantoacos);
330  vector< gen_op > atrig2ln_v(atrig2ln_tab,atrig2ln_tab+3);
331  vector< gen_op > trigcos_v(1,trigcospow);
332  vector< gen_op > trigsin_v(1,trigsinpow);
333  vector< gen_op > trigtan_v(1,trigtanpow);
334  vector< gen_op > powexpand_v(1,powtopowexpand);
335  vector< gen_op > exp2power_v(1,exptopower);
336  vector< unary_function_ptr > gamma_v(1,at_gamma);
337  vector< gen_op > gamma2factorial_v(1,gammatofactorial);
338  vector<unary_function_ptr> inequality_sommets(inequality_tab,inequality_tab+sizeof(inequality_tab)/sizeof(unary_function_ptr));
339// File vecteur.cc
340  int printcell_current_row=0,printcell_current_col=0;
341  int spread_Row=0,spread_Col=0;
342