(Modifications de 1.35 a 1.38 dans le fichier Changes1.35-1.38)
-----------------------------------------------------------------------------
Modifications a la version 1.38.

Code: B: bug, M: modification, N: nouveau programme, D: erreur de doc.
1 a 3: de peu important a tres important

1) [M1] elliptic.c: apell(), utiliser apell2() pour p<=457.
2) [N] arith1.c: ecrit quaddisc().
3) [N] init.c: attrape les signaux SIGSEGV et SIGBUS.
4) [B1] plusieurs: traite les matrices vides dans gsqr(), hnf(), hnfhavas(),
   gscal().
5) [B1] buch.c: buchall() image_det pouvait ne pas etre carree.
6) [M1] manuel: oublie rootslong.
7) [B3] base2.c: allbase4() modifications importantes dues a une erreur
   theorique dans l'implementation de round 4.
8) [B2] polarit2.c: srgcd() enleve toute utilisation de com (devrait accelerer
   les PGCD de polynomes de degre >10).
9) [M1] examples/tutnfxxx, modifie pour etre compatible avec nouvel initalg.
10) [M1] buch.c, gencom.h, init.c: quelques modifs due a la version alpha.
11) [M1] trans1.c: mpsc1(), change y=cgetg(l) en y=cgetg(l-1).
12) [M2] gp.c: possibilite de simplification automatique des resultats
   (commande \y).
13) [B1] gen3.c: simplify() case 8 etait incorrect.
14) [M1] partout: introduit la variable DEBUGLEVEL et la commande \g qui permet
   de la fixer.
15) [M1] es.c et versionxxx.c: globalisation dun numero de version avec la 
   fonction printversionno().
16) [B1] base2.c: encore une bug dans allbase4().
17) [M2] base2.c: modifie allbase4() pour utiliser plus efficacement Dedekind.
   base etc... devrait etre beaucoup plus rapide dans la plupart des cas.
18) [M1] buch.c, alglin1.c: modifie les impressions quand DEBUGLEVEL>0.
19) [M1] buch.c: buchxxx(), elimination des relations supplementaires nulles.
20) [B3] alglin1.c: hnfadd() oublie de composer vperm avec permpro.
21) [M2] buch.c: isprincipal() pour grands ideaux.
22) [N]  init.c: allocatemem() peut maintenant etre appele de GP, et avec
   une taille variable (ancien nom allocatemoremem() change, mais existe en 
   interne).
23) [M1] partout: les warnings et erreurs sont maintenants tous diriges vers
   le fichier global errfile (initialise a stderr), qu'il est donc trivial de
   rediriger.
24) [M3] buch.c: buchall() ajoute be honest.
25) [B3] alglin2.c: invmulmat() parfois completement faux dans le cas de coeffs
   reels (probablement aussi d'autres programmes d'alglin). Corrige au moins
   pour les types reels et complexes.
26) [B1] buch.c: buchall() en consequence de 25), appele invmulmatreel au lieu
   de invmulmat (2 fois).
27) [B1] init.c, gp.c: l'initialisation de outfile etc... doit etre fait dans
   init() et pas dans main().
28) [B2] buch.c, buchall(): change la generation des relations supplementaires.
29) [B2] buch.c, getfu(), oublie de modifie xarch.
30) [N] buch.c: ecrit signunit().
31) [B1] trans1.c: palog(), utilise mpshiftz() sur qqchose qui peut etre 
   universel. Corrige. N'avait d'effet que dans le calcul de log 2-adiques.
32) [B2], [M1] arith2.c: ellfacteur(), remplace if(glob = ellmult(k)) par
   if((glob = ellmult(k))&&(cmpii(glob,n))). Egalement remplace 
   nombre=10*lgef(n1) par nombre=5*(lgef(n1)-2).
33) [B1] bibli1.c, lllgramall() incorrect quand lx<=2.
34) [M1] gen2.c, gaffect() mettre un message d'erreur en cas d'ecrasement d'un
   object universel.
35) [B2] polarit1.c: splitgen(), gestion de pile erronee.
36) [B3] buch.c, buchall(): relations supplementaires mal traitees. Introduit
   subvperm.
37) [M2] base2.c, allbase4() et differente() remplace l'appel de hnf par 
   hnfmod.
38) [B2] base2.c, allbase4() et annexes, remplace plusieurs fois des cgetg(,17)
   par cgetg(,18) (colonnes de matrices).
39) [B2] gen2.c, gneg() case 1, retourne le zero universel si x=0.
40) [B2] base2.c, idealval() erreur dans le cas ou il y a un denominateur.
41) [M2] base2.c, idealval() reecrit dans le cas d'un nombre algebrique pour
   etre plus rapide (programme interne elementval()).
42) [M2] base2.c, differente() reecrit, en utilisant v=e-1 dans
   le cas modere, f'(alpha) dans le cas d'une base de puissances, et programme
   interne idealmulspec() pour multiplier par un ideal aZ_K+alpha Z_K de norme
   n connue.
43) [M1] elliptic.c, pointell(): rajoute une gestion de pile interne.
44) [M1] base2.c, allbase4() ameliore pour les grands p.
45) [M3] base1.c, base2.c: nombreuses modifications pour accelerer le calcul de
   de initalg0.
46) [M2] buch.c, base1.c, etc... remplace partout ou possible hnf(x) par
   hnfmod(x,detint(x)) ou semblable.
47) [M1] buch.c, isprincipal() accepte les types 9 et 10.
48) [M1] base2.c, ideallllred() accepte les ideaux premiers.
49) [B1] base2.c, idealfactor() etait faux pour les ideaux non entiers.
50) [M3] base2.c, buch.c: nombreuses modifications aux programmes 
   factorisegen(), ideallllred(),.... Les programmes buchgenxx et buchinitxx 
   sont maintenant BEAUCOUP plus rapides.
51) [M3] buch.c separe en deux fichiers buch1.c et buch2.c.
52) [M1] buch1.c, ecrit freehash() pour liberer correctement la hashtable.
53) [M2] plusieurs: nettoyer pour rendre a nouveau la compilation C++ propre
   (oublie de la faire dans la release 1.38).
54) [M3] mp.s et variantes, gen68k.h: pour la version 68k uniquement, mettre
   les fonctions comme typ(), lg(), etc... en macros au lieu d'assembleur.
   Gain 8% sur testin.
