GEN varlower(const char *s, long w) { long v; if (w >= 0) { hashentry *e = hash_select(h_polvar, (void*)s, (void*)w, _lower); if (e) return pol_x((long)e->val); } /* no luck: need to create */ v = fetch_var(); return var_register(v, s); }
GEN varhigher(const char *s, long w) { long v; if (w >= 0) { hashentry *e = hash_select(h_polvar, (void*)s, (void*)w, _higher); if (e) return pol_x((long)e->val); } /* no luck: need to create */ if (nvar == max_avail) pari_err(e_MISC,"no more variables available"); v = nvar++; varpriority[v]= ++max_priority; return var_register(v, s); }
//注册用户全局变量 void initGlobalvar(void) { //普通全局变量 var_register("错误通讯次数",&aint); var_register("bint",&bint); var_register("cint",&cint); var_register("dushort",&dushort); var_register("eshort",&eshort); var_register("full",&full); var_register("gll",&gll); var_register("hul",&hul); var_register("il",&il); //保持全局变量 var_register("jf",&jf,true); var_register("kd",&kd,true); }