This file lists the incompatible changes between Version 2.x and older versions %%%%%%%%%%%%%%%%%%%%%%%%%%%% VERSION 2.2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% * The calculator GP: ==================== - Default args for user defined functions now evaluated when function is called (used to be: at definition time) E.g f(x) = local(z = x); z. Before: f(2) --> x Now: f(2) --> 2 - rnfisnorm() input format has changed. Older version was complicated and only worked if rnfequation(bnf, p, 1)[3] == 0 [otherwise, crash]. Use rnfisnorminit() now. * The library PARI: =================== - gsize() renamed to sizedigit() [conflict with gtk] - hnfhavas removed (didn't work properly, hnflll provides an alternative) - real zeroes are now coded on 2 words. Beware of constructs like t = cgetg(lg(x), t_REAL); gaffect(y, t). If x = 0, so will be t - polgalois(): old format deprecated. New preferred format for result has 3rd component giving numbering among all transitive subgroups of S_n [ was ad hoc up to 7, as described above for n >= 8 ]. Old format is still the default, but will eventually change. Use default(new_galois_format, 1) or, in library mode, set global variable new_galois_format to 1 to enable the new format. - The nf structure output by nfinit has changed: *) nf.zk is now T2-LLL-reduced, not in HNF wrt the power basis *) the internal components of nf[5] have changed (MC and T2 not needed anymore) - polred & polredabs do not take a 'prec' argument anymore [was unused] - gentimer / genmsgtimer have been removed. They are superseded by TIMER and msgTIMER which are fully reentrant and easier to use. - (undocumented) macros buch[gen | genfu | init | iniftu] - rnfisnorm() prototype has changed [ + need to call rnfisnorminit first ] %%%%%%%%%%%%%%%%%%%%%%%%%%%% VERSION 2.1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% * The calculator GP: ==================== - most function names have changed (see misc/new.dic or use whatnow under GP) - lowercase / uppercase letters distinguished. - the syntax \var = value is not recognized anymore. Use standard metacommands instead. (setting the compatibility level "compatible" to 3, with "default" will give you those three back). - strict parenthesis matching before executing the command (set strictmatch to 0 to get old behaviour) - functions label / goto have been removed (use break/next/return instead). - conjugation x_ has been removed. '_' can be freely used in identifiers. - \k metacommand removed - result history is now cyclic (older results are erased when the maximal size "histsize" is reached). - the Set() function turns objects into strings (so that set functions are able to treat arbitrary objects). Use eval to turn them back to GENs. - the type() function returns a string and not a number. - sum(X=a,b,...,x) yields x if b