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