[BACK]Return to COMPAT CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2

File: [local] / OpenXM_contrib / pari-2.2 / Attic / COMPAT (download)

Revision 1.2, Wed Sep 11 07:26:37 2002 UTC (21 years, 8 months ago) by noro
Branch: MAIN
CVS Tags: RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2
Changes since 1.1: +26 -0 lines

Upgraded pari-2.2 to pari-2.2.4.

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<a. Analogous statement for prod.

* The library PARI:
===================
 - use symbolic type names (t_INT, etc.). Don't use any explicit type number
   in your programs since these are liable to change (they have not, but will).
 - the codewords of GEN objects have a different internal structure. The
   components should only be accessed through the documented macros. When
   creating codeword x[1] for the GEN x, use the eval* macros (the set* ones
   don't fill the codeword completely).
 - the following constant names have changed ("pari" prepended): C1, C2, C3, K,
   K1, K2, K4. The constant C31 has disappeared.
 - prec and defaultpadicprecision are no longer global. The latter has
   disapeared.
 - char *pariversion not set anymore (use the macros PARIVERSION/PARIINFO)
 - LONG_IS_32BIT is never defined (test whether LONG_IS_64BIT is defined
   or not).
 - gen2str() renamed to GENtostr().
 - gitoascii() suppressed, use GENtostr().
 - init() renamed to pari_init().
 - the macro mant() has been suppressed.
 - imprimer() suppressed. output() is now a function and can be used under
   all debuggers.
 - the prototypes and behaviour of gredsp() and normalize() have changed.
   They are not documented anymore.
 - the install() function has been modified (use codes instead of valence).
 - gpuigs only has two arguments.
 - integ now takes two arguments, like deriv.
 - setrand, getrand, getstack, gettime, glength return a C long, and not a GEN.
 - pari_randseed no longer global, use setrand/getrand
 - gerepile(ltop,lbot,0) no longer returns ltop - lbot
 - nf[5][7] stored in two element form (was Z-basis) for faster inversion
 - t_POL and t_POLMOD can be freely mixed as long as main variables are the
   same (result is the expected POLMOD)