home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
progs
/
pari
/
pari_137
/
changes1.37
< prev
next >
Wrap
Text File
|
1992-05-20
|
24KB
|
430 lines
(Modifications de 1.31 a 1.35 dans le fichier ~/PARISOURCES/Changes1.31-1.35)
-----------------------------------------------------------------------------
Modifications a la version 1.35.
Code: B: bug, M: modification, N: nouveau programme, D: erreur de doc.
1 a 3: de peu important a tres important
1) [N] Ecrit et installe suppl() (supplement dans GP) et image().
2) [N] Ecrit et installe la factorisation dans les corps finis factmod9()
(factfq() dans GP).
3) [B1] alglin1.c: modifier les ker() pour que quand le noyau est nul le
resultat soit vide.
4) [B1] es.c: dans tous les programmes d'impression, accepter les matrices
a 0 colonnes.
5) [N] alglin1.c: ecrit un nouvel image(), et renomme l'ancien
image2().
6) [B1] es.c: comme 4, pour les vecteurs.
7) [B3] gen1.c: gmul() changer (dans ty>=10) le if() en
if(((vx>vy)&&((tx<17)||(ty<17)))||((vx==vy)&&(tx<10))||((ty>=17)&&(tx<17)))
gadd() idem changer le if() en
if(((vx>vy)&&((tx<17)||(ty<17)))||((vx==vy)&&(tx<10)))
gdiv() idem changer le if() en
if(((vx<vy)&&((tx<17)||(ty<17)))||((vx==vy)&&(ty<10))||((tx>=17)&&(ty<17)))
8) [M1] mis a jour testin et testout
----------------------- Version 1.35.01 --------------------------
9) [B2] polarit2.c, ggcd() reecrit completement le type 9,9, en analogie avec
le type 3, ainsi que type 9,10 en analogie avec 3,1.
10) [N] alglin1.c: ecrit et installe inverseimage().
11) [B2] polarit1.c: rootmod() et factmod(), modifie les appels a ggcd pour les
rendre compatible avec la correction 9).
12) [M1] mp.s etc...: modifie le code pour ne plus du tout utiliser a5, par
compatibilite avec le Mac.
13) [N] bibli1.c: ecrit et installe cyclo().
14) [N] bibli1.c: ecrit et installe vecsort().
15) [N] anal.c, gp.c, init.c: mis globalement infile et echo (transforme en
pariecho), ainsi qu'un buffer parireadbuffer, alloue dans gp.c. Puis
ecrit et installe read().
16) [N] anal.c: installe label() et goto() (honte a moi!), mais goto() ne
marche pas bien.
------------------------ Version 1.35.02 ----------------------------
17) [B2] gen2.c: dbltor() changer ex=log2(x) en ex=floor(log2(x)).
18) [B1] bibli1.c: lllgram(), apres n=lx-1 mettre:
if(n<=1) return gcopy(x).
19) [M1] arith1.c: bezout1(), (ligne 655) remplacer st=-1 par st= -1.
20) [M1] arith2.c: initprimes(), changer size=(maxnum+1)/2 en
size=(maxnum+257)>>1, et 2*(q-s) en (q-s)<<1.
21) [N] bibli1.c: ecrit et installe polymodrecip() (modreverse dans GP).
22) [N] bibli1.c: ecrit et installe polred2().
23) [N] gen3.c: ecrit et installe gtopolyrev() (polyrev dans GP).
24) [M3], [N] bibli1.c, base.c, etc...: unifie tous les base() en un seul, tous les polred,
supprime polredreal (un sturm est fait systematiquement), et ajoute smallpolred2() et
factoredpolred2().
25) [N] polarit1.c: ecrit et installe rootslong().
26) [D1] usersch3.tex: indiquer que dans binome(x,y), y doit etre un entier
du C, et dans anell(e,n) que e doit etre une equation minimale et n un
entier du C.
27) [B1] messages.c: changer factpadic en factorpadic.
28) [B1] alglin1.c: modifier concat() pour accepter des matrices vides.
29) [M1] elliptic.c: modifie initell en remplacant l'appel de roots()
par rootslong(), et installe l'ancien comme initell2()
provisoirement.
----------------------- Version 1.35.03 --------------------------------
30) [B2] alglin1.c: keri() modifie, le precedent donnait tout simplement des
resultats faux.
31) [M1] usersch3.tex: divres, le reste est du signe du dividende, et non positif
ou nul comme signale.
32) [B1] gen1.c: gmul(), modifie pour traiter correctement les matrices vides,
33) [B1] polarit2.c: ggcd(), modifie pour que le pcgd d'un polynome avec l'entier 0
donne le polynome.
34) [N] base.c etc... Ecrit et installe galois() et tchirnhausen().
35) [N] bibli1.c etc... Ecrit et installe genrand() (random dans GP) et permute()
(permutation in GP).
36) [M1] polarit2.c: modifie ggcd() et glcm() pour permettre des arguments
vecteurs/matrices.
37) [N] base.c etc... Ecrit et installe initalg().
38) [M1] gen2.c: normalize() remplace gcmp0 par isexactzero ainsi que les autres occurences
analogues dans gen1.c.
39) [B1] gen2.c: ggval() apres la premiere ligne isexactzero... ajouter
if((tx<9)&&(ty==10)) return 0;
40) [N] polarit2.c etc... ecrit et installe resultant2() valable pour des types non exacts.
41) [M1] alglin1.c: det() change la ligne de division pour qu'en cas de polynomes la division
soit euclidienne.
42) [M1] base.c: smith() modifie le code apres le if(!c) pour permettre des
matrices singulieres (b=0), et prendre la valeur absolue a la fin.
43) [B3] anal.c: lindep2 est de type 23 et pas 21.
44) [M1] usersch3.tex: galois, legerement modifie la terminologie.
45) [B3] base.c: corrige une bug dans smith() dans le cas ou p1=-p2.
46) [M1] pari.menu et usersch3.tex: oublie arg().
47) [M1] Modifie sumdivk pour qu'il accepte k<0.
48) [N] Ecrit les fonctions mpfactr() (fact dans gp) et izeta().
49) [B1] Corrige incgam() pour que ca marche quand a<=0. Ecrit incgam4().
50) [N] Ecrit et installe lseriesell() (a titre temporaire).
51) [N] Ecrit cxpolylog() et incorpore a polylog.
52) [N] Ecrit glngamma(), ggamma() pour les series, et gpolylog().
53) [B3] es.c: texi() corrige 4 lignes au type 10, identiques a la correction
correspondante dans bruti.
54) [N] Ecrit galoisconj().
55) [M1] Modifie gnorml2() pour accepter tous les types, en particulier matrices.
56) [B4] !!! gen1.c gadd() type 2+type 4 et 5, code incorrect modifie.
57) [N] Ecrit et installe matrixqz().
58) [N] Ecrit et installe centerlift().
59) [M2] Modifie err() et invmod() pour qu'il imprime les inversesmodulo
impossibles.
60) [N] Ecrit(!) et installe matlength().
----------------------- Version 1.35.04 --------------------------------
61) [B2] base.c: tchirnhausen() mettre {} apres le if(v).
62) [M1] reecrit commands() pour tenir compte des noms trop longs.
63) [M1] supprime encore une fois (!) les random() dans polarit1.c
64) [M1] ggval et pvaluation ne font plus deborder la pile pari.
65) [B1] gen3.c: matlength() donnait 1 ligne de trop.
66) [M1] gencom.h,gp.c,init.c,anal.c: modifie pour que la fonction read()
de GP soit reentrante.
67) [M2] anal.c: reecrit et nettement ameliore le programme constante().
68) [B2] alglin2.c: matrixqz() change pp en p dans la premiere division.
69) [M1] base.c: hnf() modifie pour accepter des matrices ayant plus de lignes
que de colonnes. Le resultat n'est maintenant pas toujours une matrice carree.
70) [N] alglin2.c: ecrit et installe matrixqz2() (algorithme de Dominique).
71) [N] alglin1.c: ecrit et installe indexrank().
72) [N] alglin2.c: ecrit et installe matrixqz3().
73) [B1] alglin1.c et alglin2.c: modifie invmulmat(), caract(), rank()
et indexrank() pour accepter des matrices vides.
74) [N] alglin2.c: ecrit et installe kerint().
75) [M1] alglin2.c: matrixqz3() corrige une bug et ajoute une LLL-reduction a la fin.
76) [N] gen2.c, etc...: installe size() et rounderror().
77) [M1] alglin2.c: sqred1(), sqred2() (donc sqred()) modifies, et ajoute la protection
contre stack overflow.
78) [N] bibli1.c, alglin2.c: ecrit sqred3(), et nouvelles versions de lll() et lllgram(),
les anciennes s'appelant lll1() et lllgram1(). Les nouvelles sont beaucoup plus rapides
et necessitent moins de place.
79) [N] elliptic.c: ecrit et installe pointell() (fonction P de Weierstrass et sa derivee).
80) [M1] alglin1 et 2.c: modifie encore d'autres programmes d'algebre lineaire pour accepter
les matrices vides.
81) [M1] trans3.c: modifie polylog() pour qu'il accepte tout argument meme tres grand, et
gpolylog pour avoir les polylog d'indice negatif.
82) [M1],[N] trans3.c: renomme polylogd en polylogdold, et modifie pour que polylogd soit
maintenant le D_m~. De plus, traite les cas particuliers 0 et 1 dans les polylog.
83) [N] alglin2.c: ecrit et installe intersect().
84) [B2] alglin2.c: corrige une faute de frappe dans kerint().
85) [B2] elliptic.c: zell(), inverse le signe de t, change le mode de calcul de t pour
eviter au maximum les erreurs d'arrondis, ajoute une iteration agm systematiquement
et traite le cas particulier t=0 (zell() est donc correct et beaucoup plus precis).
86) [M1] bibli2.c: suminf(), prodinf(), prodinf1(), modifie la condition d'arret pour
qu'il puisse y avoir des coefficients nuls.
87) [M1] elliptic.c: matell(), double les coefficients (la precedente definition
donnait le regulateur divise par 2^r).
88) [D1] Modifie quelques fautes de frappe du manuel.
89) [M1] elliptic.c: oncurve(), modifie pour qu'il accepte un resultat approximatif
dans le cas de courbes a coefficients inexacts.
90) [M1] anal.c et messages.c: interverti length et legendre qui n'etaient pas dans
l'order alphabetique.
91) [N] gen2.c, bibli1.c, etc...: ecrit et installe lexcmp() (lex dans GP) et lexsort().
92) [M1] polarit2.c, arith2.c: permis a smallfact() et boundfact() d'avoir des arguments
rationels, et tries les nombres premiers qui interviennent.
93) [M1] gen2.c: gpui(), modifie pour un traitement correct des vecteurs.
------------------------- Version 1.35.05 ---------------------------------
94) [M1] elliptic.c: apell() modifie pour accepter des nombres premiers >2^16.
95) [B2] alglin2.c: hess() etait incorrect. Modifie et en fait simplifie.
96) [B1] gen2.c: ajoute du code a dbltor() pour s'assurer que le resultat est
normalise.
97) [M2] version68k.c: ajoute presque toutes les routines de versionport.c
pour la correction 96 ci-dessus. Deplace les declarations externes de
overflow et hiremainder de genport.h a gencom.h.
98) [N] Donne a GP l'acces au polynome caracteristique calcule par la comatrice
et interverti avec caract. D'ou char() dans GP correspond a caradj0() dans
alglin2.c, et char1() dans GP correspond a caract() dans alglin2.c.
99) [M1] alglin2.c: Modifications cosmetiques a caract().
100) [M1] base.c: hnf() change j=def en j=def-1, puis a la fin (apres le if(
signe(p1))) mettre else def++.
101) [N] alglin2.c: ecrit un nouveau kerint() utilisant HNF. renomme l'ancien
kerint1().
102) [B3] bibli1.c: lllgram() et lllgram1(), la formule donnant mu_{i,k-1}
etait completement fausse! Corrige, et change la constante de 9/10 a
99/100.
103) [B1] mp.s: negs() changer vers la fin tstl d1 en negl d1 (sinon identique
a stoi!). Ajoute #define negs(s) (stoi(-s)) dans genport.h. Egalement,
remplace le calcul d'un zero par _gzero, et dans abss enlever le link.
104) [M1] gen2.c: ismonome() remplace gcmp0() par isexactzero().
105) [M0] gen3.c: supprime conpol(); gencom.h ajoute une macro pour gdiventz().
106) [B2] gen1.c: gdiv() s/10, modifie pour que le resultat soit un polynome
quand s=0 exactement, gmul() et gen3.c: gmulsg() s*13,14 aussi.
107) [M3,N] anal.c (et erreurs.h, messages.c): modifie le case 200 de
identifier() et skipidentifier() pour accepter les syntaxes m[j,] et m[,k]
ou m est une matrice. Ces objets peuvent etre utilises dans une expression,
et a gauche d'un symbole d'affectation (si m est une variable).
108) [N] Installe dans gp shift() (gshift() dans pari) et shiftmul() (gmul2n()
dans pari).
109) [N] es.c: Nouveau format matbrute(), nouvelle commande de GP \m,
modification de la signification de \p et \b.
110) [M1] gen3.c: gsubst() permis a nouveau une substitution dans un polymod.
et de facon similaire dans geval().
111) [M1] alglin2.c: caradj0() autorise polynome caracteristique de tout
scalaire.
112) [B1] polarit2.c: verifie le type dans quadpoly().
113) [M2] alglin2.c: trace() change completement l'algorithme pour le type 9:
utiliser les formules de Newton.
114) [B1] bibli1.c: verifie le type dans ggrando().
115) [M1] trans*.c: autorise les fonctions transcendantes de type 9.
116) [M1] polarit1.c: split() et split9() remplace gvar(*t) par varn(*t).
polarit2.c: discsr() type 10 remplace gvar(x) par varn(x).
117) [M3] gen*.c: nombreuses modifications pour un traitement un peu plus
correct du type 9 (suite des modifs liees a la modif 124 sur 1.34).
En particulier nouvelle fonction gvar2() et macro gvar9.
118) [M1] accepte le type 9 dans ground() et grndtoi().
119) [B3] polarit1.c: decpol() ajouter (i1<=k) avant (i==pos[i1]).
120) [B1] polarit1.c: gredsp() dans les 2 cas p1=0, faire un cgiv(p1) avant
l1=(long)(x+3).
121) [M2] polarit1.c: gred() tx==13 ou 14 calcule le contenu pour essayer
de mieux simplifier. En consequence dans d'autres programmes (gen*.c
en particulier), de tres nombreuses modifs aux case 13, case 14.
122) [B1] polarit2.c: remplacer quelques polgcd par ggcd.
123) [B1] polarit2.c: ggcd(), type 13,14 remplacer if(ty>=17) par if(ty>=15).
124) [B2] polarit1.c: poldivres() if(tx<10) *pr=gcopy(x) et pas gcopy(y).
125) [M1] gen3.c: gmulsg() et gdivgs() case 10: mettre ly=lgef(y) et
lx=lgef(x).
126) [M1] anal.c: constante() remplace stoi(10) (dans l'exposant) par une
affectation dans un reel.
127) [B1] polarit2.c: ggcd() case 3, case 4: commencer par p1=mppgcd(x[1],y[2])
et non pas x[2].
128) [M1] polarit2.c: ggcd() autorise le pgcd case 9 case 13,14.
129) [M1] polarit2.c: ggcd() traite correctement le cas de variables
differentes; modifie le resultat du pgcd avec une serie, et autorise les
pgcd generaux avec series.
130) [B1] gen2.c: normalizepol() changer le if(signe(x)) en if(lgef(x)>2).
131) [B1] bibli1.c: changevar() traite correctement les case 9 et 13,14.
132) [M1] polarit*.c, gencom.h: plusieurs modifs pour remplacer lgef() par
qqchose de plus correct (cas des polynomes scalaires). En particulier
macros isscalar(), isnonscalar() et leadingterm().
133) [M1] gen2.c: normalizepol() modifie et met le signe dans tous les cas.
gen1.c: enlever un setsigne inutile avant normalizepol.
134) [M2] gp.c: (modification de 109) modification de la signification de \p,
\b et \m, et nouvelle commande \a.
135) [N] arith2.c: ecrit rhorealnod() et redrealnod(), et ajoute des verifs
de type dans rhoreal et redreal. Change le nom qfred1 en redcomp, et
ajoute ces fonctions dans pari.menu.
136) [B1] anal.c: identifier() oublie de mettre une verification type et
longueur dans une affectation m[,c]= (suite de 107).
137) [M1] alglin2.c: gnorm() case 10 a 14, prendre la partie reelle avant
de donner le resultat.
138) [M1] trans1.c: gsqrt() autorise le type 9.
139) [N] gen3.c: installe simplify().
--------------------------- Version 1.35.07 ------------------------------
(la version 1.35.06 n'a existe que de facon ephemere dans 1 seul site)
140) [M3,B1] gen3.c: precision() remplacer le if(tx==2)... par
if (tx==2) return max(lg(x),2-(expo(x)>>5));
141) [B3] trans3.c: gpolylog() mettre au debut av=avma et enleve dans les cases
individuels.
142) [B2] elliptic.c: initell() et initell2() remplacer q=ginv(gadd(w,gsqrt(..
par
if(gsigne(greal(w))>0) q=ginv(gadd(w,gsqrt(gaddgs(gmul(w,w),-1),prec)));
else q=gsub(w,gsqrt(gaddgs(gmul(w,w),-1),prec));
pitemp=mppi(prec);...
143) [B1] elliptic.c: initell(), initell2() et zell() remplacer
if(signe(p2)>0) par if(gsigne(p2)>0).
144) [N] bibli1.c: Ecrit et installe lllgramint() et lllint().
145) [B1] gen3.c: gceil() case 4,5: remplacer signe par gsigne.
146) [B3] gen2.c: gpuigs() dans ismonome(x) avant p1=cgetg(dd,10) mettre
av=avma; dans if(n<0) remplacer av=avma par tetpil=avma.
147) [B2] polarit2.c: content() remplacer tetpil=avma;p1=ggcd(p1,x[i])
par
txi=typ(x[i]);
if((txi==2)||((txi>=6)&&(txi<=9))) {avma=l;return gun;}
else {tetpil=avma;p1=ggcd(p1,x[i]);}
rajouter les memes deux premieres lignes dans le else
et declarer txi.
148) [B1] polarit1.c: gred() dans tx==13 ou 14, remplacer if(gcmp0(x1))...
par
x1=(gcmp0(x1))?(GEN)x[1]:gdiv(x[1],x1);
x2=gdiv(x[2],x2);y=poldivres(x1,x2,&p1);
149) [B1] polarit2.c: content() case 11: mettre a la place
case 11: if((!signe(x))&&((tx==11)||(lx==2))) return gzero;
150) [M2,N] arith2.c: Modifie compose(), compreal(), comprealraw(), sqcomp(),
sqcompreal(), sqcomprealraw() pour calculer correctement avec des formes
non primitives (et installation de comprealraw(), sqcomprealraw() et
powrealraw()).
151) [M1] anal.c: remplacement de match() par une macro et matcherr()
152) [M2] anal.c: Au retour d'une fonction, faire systematiquement UNE copie
du resultat.
153) [M1] elliptic.c: le code commun a initell() et initell2() est factorise.
154) [M2] messages.c remplace par errmessages.c et helpmessages.c
155) [M1] tous les 0x77f+i remplaces par 0x77f +i pour satisfaire un
compilateur paranoiaque.
156) [B2] polarit1.c: gres() remplacer if(tx<10) return gcopy(y);
par if(tx<10) return gcopy(x);
157) [B2] arith2.c: kerint1(), av n'etait pas initialise.
158) [B1] gen2.c: lexcmp() lx etait dans certains cas utilise avant
initialisation
159) [M1] supprime une quinzaine de variables locales inutiles.
160) [B1] gen2.c: ggval() case 3, initialisation de p1=cgeti(lgef(x[1])) et
p2=cgeti(lgef(x[2])) etait necessaire.
161) [M2] polarit2.c: factor() type 10, modifie le code pour accepter des
polynomes a coefficients rationnels et pas seulement entiers ou modulo.
162) [M1] errmessages.c et erreurs.h: Enleve recer2 et modifie le message de
recer1.
163) [M1] bibli1.c: Change setprecision() et setserieslength() pour retourner
ce qu'il faut.
164) [N] polarit2.c: ecrit polfnf() (factornf() dans gp).
165) [M1] Mis a jour le manuel, pari.menu et testin.
166) [B1] gen2.c: gcmp_1() case 9: changer gcmp en !gegal
167) [N] polarit2.c: Installe nfiso() (isisom() dans gp) nfincl() (isincl()
dans gp), et rootsof1().
168) [B1] trans3.c: polylog{p,d,dold}(2m+1,1) donnait 0.
----------------------------- Version 1.36beta3 ---------------------
169) [B1] polarit2.c: newtonpoly() remplacer VERYBIGINT par LARGERINT,
defini dans gencom.h.
170) [B3] bibli1.c: lindep2() remplacer lll(p4,(prec<<1)-2) par lllint(p4).
171) [B2] bibli1.c: lllgramint() dans la double boucle initiale, ajouter
coeff(lam,j,i)=zero, commencer a i=1 au lieu de i=2, et enlever
B[2]=coeff(x,1,1) qui precede.
172) [B1] gen3.c: ginv() corriger pour que le resultat soit une forme reduite
dans le cas 15 et 16.
173) [N] arith2.c: ecrit et installe (enfin!) nucomp(), nudupl() et nupow().
(apres essais, ils pourront remplacer la composition ordinaire).
Au passage, quelques modifications esthetiques.
174) [M1] alglin2.c: dans kerint() remplacer l'appel a lll par un appel a
lllint.
175) [M1] polarit2.c: factmod() tester si p<2^31.
176) [B1] bibli1.c: tous les lllgram* quand n<=1 ne pas retourner gcopy(x)
mais idmat(n).
177) [N] alglin2.c: ecrit et installe kerint2() qui devrait etre meilleur que
kerint.
178) [N] alglin2.c et bibli1.c: remplace kerint() par une nouvelle version,
et ecrit et installe lllkerim() et lllgramkerim(). Le programme kerint()
est habituellement plus rapide que kerint1() et kerint2().
179) [M1] supression de 8 variables locales inutilisees. Remplace isspace(c) par (isspace(c)) dans es.c
------------------------ Version 1.36 ---------------------------------------
180) [B1] gen3.c: gsubst() case 10, remplacer if(ty==6) z=poleval(x,y);
else { vx=varn(x);l=lgef(x);... par
vx=varn(x);if((ty==6)&&(v==vx)) z=poleval(x,y);else {l=lgef(x);...
181) [B1] arith1.c: fundunit(), changer x[lg(x)-1] en x[lgef(x)-1].
182) [B1] gen1.c: gadd(), case <10, case 11, corriger quand y=O(x^0):
dans le troisieme grand else (correspondant a e=0), apres
z=cgetg(ly,ty);l=avma; remplacer p1=gadd(x,y[2]); par
p1=(signe(y))?gadd(x,y[2]):x;
Plus loin, remplacer else {z[1]=0x1008000;z[2]=(long)p1;...}
par else {if(!signe(y)) z[1]=0x8000;else {z[1]=0x1008000;z[2]=... }}
183) [M1] gen2.c: gegal() type 15 et 16 traites correctement.
184) [M3] polarit2.c: ggcd() type<9 type>=9 pris en compte le contenu de y,
et pris en compte les diviseurs simples des types 6 et 8. Modifie
content() de facon analogue.
185) [B2] gen3.c: numer() et denom(), accepte tous types autres que formes
quadratiques.
186) [B1] gen3.c: gsubst() case 11, case 10,13,14: remplace e*(lx-2) par
e*(lx-2+ex).
187) [M1] elliptic.c: smallinitell() sort j=0 quand d=0 a la place d'une erreur.
188) [M2] arith1.c et arith2.c: "vectorise" les operations arithmetiques
(de nombreuses modifications, aussi dans anal.c etc...)
189) [N] plot.X: ecrit et installe plothraw().
190) [B1] bibli2.c: suminf() remplacer affsr(1,y=cgetr(prec)) par y=gun.
191) [B3] arith2.c: nupow() remplacer le y=gerepile(.. final par
return gerepile(...
192) [B1] trans3.c: sagm() case 6, remplacer prec=precision(x) par
if(pp=precision(x)) prec=pp;
--------------------- Version 1.36.1 -----------------------------------
193) [N] elliptic.c: ecrit et installe akell().
194) [B1] helpmessages.c: corrige le message pour initell et initell2.
195) [M3] init.c: allocatemoremem(), double la pile Pari avant de faire un
message d'erreur. A voir a l'usage.
196) [M2] elliptic.c: ordell() accepte aussi les rationnels.
197) [B1] elliptic.c: oncurve() remplacer -f+5 par -((f-2)<<5)+20.
198) [B2] polarit2.c: scalcontent() case 9 remplacer x[1] par x[2], et
content() remplacer if(tx<10) par if(tx<9) et rajouter dans le switch
case 9: return content(x[2]).
199) [M2] gen1.c: gadd() autorise l'addition scalaire/matrice dans certains
cas.
200) [N] bibli2.c et plot.X (ainsi que anal.c etc...): ecrit et installe les
fonctions de rectplot. Sous GP: box(), cursor(), draw(), initrect(),
killrect(), line(), lines(), move(), point(), points(), rbox(), rline(),
rmove(), rpoint(), string().
201) [M1] gen2.c: modifie gtolong() pour accepter aussi le type reel et
fractions non entieres (on arrondit).
202) [M1] trans2.c: garg() autorise les vecteurs/matrices.
203) [M1] polarit1.c: polinvmod() remplace invmoder par ginvmoder.
204) [B3] polarit2.c: sturmpart() oubliait d'ignorer les zeros.
205) [M2] gp.c et gpreadline.c: dans main() case '{' ajouter
if((*tch2=='\\')&&(tch2[1]=='\\')) *tch2=0;
juste apres le if(!fgets...). Ceci permet d'ecrire des commentaires dans une
fonction.
206) [M3] partout, y compris dans le manuel, de nombreux petits changements
pour avoir le moins de warnings possibles, declaration de toutes les
fonctions, mise au type void et int de celles qui doivent l'etre, et
quelques long prec oublies. Par souci d'etre complet, rajoute addssz(),
subssz() et mulssz() dans mp.c.
207) [M2] trans3.c: theta() corrige pour rendre une valeur correcte quand z est
complexe.
208) [N] plot.sun: ecrit plothraw() et draw() sous suntools.
--------------------- Version 1.36.2 -----------------------------------
209) [N] Incorpore buchimag() et buchreal(), et modifie les Makefile pour avoir
buch.c en plus. Modifie egalement INSTALLATION en consequence.
210) [N] Mis la version HP-PA dans les sources.
211) [N] bibli2.c: Ecrit postploth(),postploth2(),postplothraw(),postdraw().
212) [B2] alglin2.c: dans le else a la fin de matrixqz() ajoute av1=avma;
apres fl=1;
213) [B2] gen2.c: gcvtop() case 11: oublie y=cgetg(lx,11) avant y[1]=x[1].
214) [B2] gen2.c: gpui() oublie av1=avma au debut du else final.
215) [B2] trans3.c: jbesselh() case 10,13,14 oubli av=avma initial.
216) [B2] gen1.c: gadd() case<10, case 19, oublie l=avma avant
p1=gscalmat(x,ly-1)
217) [B1] anal.c: rpoint remplace rectpoint par rectrpoint.
218) [M1] polarit1.c: poldivres() apres f=1 mettre l=avma, et dans le cas
if(f) commencer par avma=l.
219) [M3] polarit1.c: poldivis() modifie la syntaxe, le resultat est cree et
non plus affecte comme dans mpdivis. Modifie gen2.c ggval() en consequence.
220) [M1] gen2.c: ggval() mis av=avma et avma=av en facteur du tout.
221) [B2] elliptic.c: apell() corrige pour les cas de mauvaise reduction.
-------------------------- Version 1.37 --------------------------------