Merge lp:~jtaylor/ubuntu/oneiric/genus2reduction/fix-831247 into lp:ubuntu/oneiric/genus2reduction

Proposed by Julian Taylor
Status: Merged
Merged at revision: 5
Proposed branch: lp:~jtaylor/ubuntu/oneiric/genus2reduction/fix-831247
Merge into: lp:ubuntu/oneiric/genus2reduction
Diff against target: 325 lines (+307/-0)
3 files modified
debian/changelog (+16/-0)
debian/patches/pari_2.5.patch (+290/-0)
debian/patches/series (+1/-0)
To merge this branch: bzr merge lp:~jtaylor/ubuntu/oneiric/genus2reduction/fix-831247
Reviewer Review Type Date Requested Status
Michael Terry Approve
Ubuntu branches Pending
Review via email: mp+72882@code.launchpad.net

Description of the change

merge from debian to fix ftbs 831247

To post a comment you must log in.
Revision history for this message
Michael Terry (mterry) wrote :

Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2011-07-18 18:02:27 +0000
3+++ debian/changelog 2011-08-25 13:03:53 +0000
4@@ -1,3 +1,19 @@
5+genus2reduction (0.3-2.1ubuntu1) oneiric; urgency=low
6+
7+ * Merge from debian unstable (LP: #831247). Remaining changes:
8+ - Libraries needed to link the package should go into LDADD and after
9+ sources on the linker command line to fix an issue with ld --as-needed
10+
11+ -- Julian Taylor <jtaylor.debian@googlemail.com> Thu, 25 Aug 2011 14:49:26 +0200
12+
13+genus2reduction (0.3-2.1) unstable; urgency=medium
14+
15+ * Non-maintainer upload.
16+ * debian/patches/pari_2.5.patch:
17+ - Port to pari 2.5 API (Closes: #635507, #635917).
18+
19+ -- Luca Falavigna <dktrkranz@debian.org> Sun, 14 Aug 2011 15:26:01 +0200
20+
21 genus2reduction (0.3-2ubuntu1) oneiric; urgency=low
22
23 * Libraries needed to link the package should go into LDADD and after
24
25=== added file 'debian/patches/pari_2.5.patch'
26--- debian/patches/pari_2.5.patch 1970-01-01 00:00:00 +0000
27+++ debian/patches/pari_2.5.patch 2011-08-25 13:03:53 +0000
28@@ -0,0 +1,290 @@
29+Index: genus2reduction-0.3/genus2reduction.c
30+===================================================================
31+--- genus2reduction-0.3.orig/genus2reduction.c 2011-08-13 23:10:02.622871337 +0000
32++++ genus2reduction-0.3/genus2reduction.c 2011-08-13 23:13:56.302871205 +0000
33+@@ -86,7 +86,7 @@
34+ long tt,d,d1,d2,d3,f1,f2,g,h,v1,v2,j2m,r1,r2,r3,r4,dismin,alpha,lambda;
35+ long indice,vc6,mm,nb,dism,maxc,condp,R,alpha1,comp,beta,vy,dd,pr,ip,j,temp;
36+
37+- init(10000000,500000);
38++ pari_init(10000000,500000);
39+ jpol2=lisseq("a0;a1;a2;a3;a4;a5;a6;2^-2*(-120*a0*a6+20*a1*a5-8*a2*a4+3*a3^2)");
40+ jpol4=lisseq("a0;a1;a2;a3;a4;a5;a6;2^-7*(240*(a0*a3*a4*a5+a1*a2*a3*a6)-400*(a0*a2*a5^2+a1^2*a4*a6)-64*(a0*a4^3+a2^3*a6)+16*(a1*a3*a4^2+a2^2*a3*a5)-672*a0*a3^2*a6+240*a1^2*a5^2-112*a1*a2*a4*a5-8*a1*a3^2*a5+16*a2^2*a4^2-16*a2*a3^2*a4+3*a3^4+2640*a0^2*a6^2-880*a0*a1*a5*a6+1312*a0*a2*a4*a6)");
41+ jpol6=lisseq("a0;a1;a2;a3;a4;a5;a6;2^-10*(1600*(a0^2*a4^2*a5^2+a1^2*a2^2*a6^2)+1600*(a0*a1*a2*a5^3+a1^3*a4*a5*a6)+640*(a0*a1*a3*a4*a5^2+a1^2*a2*a3*a5*a6)-4000*(a0^2*a3*a5^3+a1^3*a3*a6^2)-384*(a0*a1*a4^3*a5+a1*a2^3*a5*a6)-640*(a0*a2^2*a4*a5^2+a1^2*a2*a4^2*a6)+80*(a0*a2*a3^2*a5^2+a1^2*a3^2*a4*a6)+192*(a0*a2*a3*a4^2*a5+a1*a2^2*a3*a4*a6)-48*(a0*a3^3*a4*a5+a1*a2*a3^3*a6)-224*(a1^2*a3*a4^2*a5+a1*a2^2*a3*a5^2)+64*(a1^2*a4^4+a2^4*a5^2)-64*(a1*a2*a3*a4^3+a2^3*a3*a4*a5)+16*(a1*a3^3*a4^2+a2^2*a3^3*a5)-4096*(a0^2*a4^3*a6+a0*a2^3*a6^2)+6400*(a0^2*a2*a5^2*a6+a0*a1^2*a4*a6^2)+10560*(a0^2*a3*a4*a5*a6+a0*a1*a2*a3*a6^2)+2624*(a0*a1*a3*a4^2*a6+a0*a2^2*a3*a5*a6)-4432*a0*a1*a3^2*a5*a6-8*a2*a3^4*a4+a3^6-320*a1^3*a5^3+64*a1^2*a2*a4*a5^2+176*a1^2*a3^2*a5^2+128*a1*a2^2*a4^2*a5+112*a1*a2*a3^2*a4*a5-28*a1*a3^4*a5+16*a2^2*a3^2*a4^2+5120*a0^3*a6^3-2544*a0^2*a3^2*a6^2+312*a0*a3^4*a6-14336*a0^2*a2*a4*a6^2+1024*a0*a2^2*a4^2*a6-2560*a0^2*a1*a5*a6^2-2240*a0*a1^2*a5^2*a6-6528*a0*a1*a2*a4*a5*a6-1568*a0*a2*a3^2*a4*a6)");
42+@@ -115,7 +115,7 @@
43+ pr=1; if(!cmpis((GEN)factp[1],2)) pr=2;
44+ matmin=cgetg(6,19);
45+ for(j=1;j<=5;j++)
46+- matmin[j]=lgetg(lg(factp)-pr+1,18);
47++ matmin[j]=(long)cgetg(lg(factp)-pr+1,18);
48+ for(i=pr;i<lg(factp);i++)
49+ {
50+ p=(GEN)factp[i];
51+@@ -400,7 +400,7 @@
52+ {
53+ if(myval(c3,p)>1)
54+ {printf("bug c3");fflush(stdout);exit(1);}
55+- mm=min(min(3*myval(c4,p)-4,3*myval(c5,p)-5),3*vc6-6);
56++ mm=minss(minss(3*myval(c4,p)-4,3*myval(c5,p)-5),3*vc6-6);
57+ if(alpha)
58+ {
59+ condp=dismin-mm-16;
60+@@ -473,7 +473,7 @@
61+ else
62+ {
63+ list=factorpadicnonun(polh,p,dismin-5);
64+- nb=lg(list);prod=polun[varn(polh)];
65++ nb=lg(list);prod=pol_1(varn(polh));
66+ for(i=1;i<nb;i++)
67+ {
68+ facti=(GEN)list[i];
69+@@ -524,7 +524,7 @@
70+ }
71+ if(cmpis(p,3)&&!cmpis(denom(theta),3)) goto modere;
72+ list=factorpadicnonun(polh,p,dismin-10*alpha);
73+- nb=lg(list);prod=polun[varn(polh)];
74++ nb=lg(list);prod=pol_1(varn(polh));
75+ for(i=1;i<nb;i++)
76+ {
77+ facti=(GEN)list[i];
78+@@ -597,7 +597,7 @@
79+ polh1=gcopy(polh);
80+ theta1=gcopy(theta);
81+ alpha1=alpha;
82+- polh=gmul(gsubst(polh,0,ginv(polx[0])),gpuigs(polx[0],6));
83++ polh=gmul(gsubst(polh,0,ginv(pol_x(0))),gpuigs(pol_x(0),6));
84+ polf=polymini(gmul(polh,gpuigs(p,alpha)),p);
85+ polh=(GEN)polf[1];
86+ lambda=itos((GEN)polf[2]);
87+@@ -655,7 +655,7 @@
88+ d=val[6]-val[7]+(val[eps2]/eps);
89+ if(r1&&alpha1==0)
90+ {
91+- polh1=gdiv(gsubst(polh1,0,gmul(p,polx[0])),gpuigs(p,3));
92++ polh1=gdiv(gsubst(polh1,0,gmul(p,pol_x(0))),gpuigs(p,3));
93+ }
94+ polhp=gmul(unmodp,polh1);
95+ if(!gcmp0(discsr(polhp)))
96+@@ -671,10 +671,10 @@
97+ {
98+ if(gcmp1(theta1))
99+ {
100+- polh1=gdiv(gsubst(polh1,0,gmul(p,polx[0])),gpuigs(p,3));
101++ polh1=gdiv(gsubst(polh1,0,gmul(p,pol_x(0))),gpuigs(p,3));
102+ }
103+ d=val[6]-3*val[3]+(val[eps2]/eps);
104+- d1=min(val[7]-3*val[3],d/2);
105++ d1=minss(val[7]-3*val[3],d/2);
106+ if(d==2*d1) indice=d1;
107+ else
108+ {
109+@@ -720,7 +720,7 @@
110+ {
111+ if(r1&&alpha1==0)
112+ {
113+- polh1=gdiv(gsubst(polh1,0,gmul(p,polx[0])),gpuigs(p, 3));
114++ polh1=gdiv(gsubst(polh1,0,gmul(p,pol_x(0))),gpuigs(p, 3));
115+ }
116+ polhp=gmul(unmodp,polh1);
117+ if(!gcmp0(discsr(polhp))) d=0;
118+@@ -749,7 +749,7 @@
119+ {
120+ if(r2&&alpha==0)
121+ {
122+- polh=gdiv(gsubst(polh,0,gmul(p,polx[0])),gpuigs(p,3));
123++ polh=gdiv(gsubst(polh,0,gmul(p,pol_x(0))),gpuigs(p,3));
124+ }
125+ polhp=gmul(unmodp,polh);
126+ if(!gcmp0(discsr(polhp))) indice=0;
127+@@ -1647,7 +1647,7 @@
128+ else
129+ {
130+ v=myval((GEN)pol[2],p);
131+- for(i=3;i<lx;i++) v=min(myval((GEN)pol[i],p),v);
132++ for(i=3;i<lx;i++) v=minss(myval((GEN)pol[i],p),v);
133+ }
134+ return v;
135+ }
136+@@ -1673,8 +1673,8 @@
137+ if(contpol) {printf("contenu non trivial, erreur\n");fflush(stdout);exit(1);}
138+ pol=gdiv(pol,gpuigs(p,contpol));
139+ r=(lx-4)*ggval(td,p)+r;
140+- upol=gsubst(gmul(pol,gpuigs(td,lx-4)),vx,gdiv(polx[vx],td));
141+- fact=gsubst(factorpadic4(upol,p,r),vx,gmul(polx[vx],td));
142++ upol=gsubst(gmul(pol,gpuigs(td,lx-4)),vx,gdiv(pol_x(vx),td));
143++ fact=gsubst(factorpadic4(upol,p,r),vx,gmul(pol_x(vx),td));
144+ list=(GEN)fact[1];ep=(GEN)fact[2];nb=lg(list)-1;
145+ for(i=1;i<=nb;i++)
146+ if(!gcmp1((GEN)ep[i]))
147+@@ -1698,7 +1698,7 @@
148+ rec1:
149+ alpha=polval(pol,p);polh=gdiv(pol,gpuigs(p,alpha));
150+ if(gdivise(truecoeff(polh,6),p)&&gdivise(truecoeff(polh,5),p)&&gdivise(truecoeff(polh,4),p)&&gdivise(truecoeff(polh,3),p))
151+- {polh=gmul(gpuigs(polx[0],6),gsubst(polh,0,ginv(polx[0])));}
152++ {polh=gmul(gpuigs(pol_x(0),6),gsubst(polh,0,ginv(pol_x(0))));}
153+ alpha=alpha&1;
154+ beta=0;
155+ lambda=0;
156+@@ -1709,11 +1709,11 @@
157+
158+ labelm6:
159+ theta=caltheta(polh,p,lambda);
160+- polf[5]=zero; /* 1 si racine d'ordre 3 non dans F_p, 0 sinon */
161++ polf[5]=(long)gen_0; /* 1 si racine d'ordre 3 non dans F_p, 0 sinon */
162+ if(gcmp(theta,gun)>=0)
163+ {
164+ ent=gfloor(theta);pent=gpui(p,ent,0);
165+- polh=gdiv(gsubst(polh,0,gmul(pent,polx[0])),gpuigs(pent,6-lambda));
166++ polh=gdiv(gsubst(polh,0,gmul(pent,pol_x(0))),gpuigs(pent,6-lambda));
167+ alpha=(alpha+lambda*itos(ent))&1;
168+ beta=beta+itos(ent);
169+ theta=gsub(theta,ent);
170+@@ -1728,11 +1728,11 @@
171+ rac=(GEN)fac[2];
172+ if(lgef(rac)==5)
173+ {
174+- polf[5]=un;
175++ polf[5]=(long)gen_1;
176+ goto sortie;
177+ }
178+ rac=lift(gdiv(gneg(truecoeff(rac,0)),truecoeff(rac,1)));
179+- polh=gsubst(polh,0,gadd(polx[0],rac));
180++ polh=gsubst(polh,0,gadd(pol_x(0),rac));
181+ lambda=6-maxord; goto labelm6;
182+ }
183+ if(maxord<=2&&lgef(polhp)>=7) goto sortie;
184+@@ -1741,7 +1741,7 @@
185+ {
186+ if((myval(truecoeff(polh,2),p)>1-alpha)&&(myval(truecoeff(polh,1),p)>2-alpha)&&(myval(truecoeff(polh,0),p)>3-alpha))
187+ {
188+- pol=gsubst(polh,0,gmul(p,polx[0]));
189++ pol=gsubst(polh,0,gmul(p,pol_x(0)));
190+ if(alpha) pol=gmul(p,pol);
191+ goto rec1;
192+ }
193+@@ -1753,7 +1753,7 @@
194+ {
195+ if(myval(truecoeff(polh,6),p)>=3&&myval(truecoeff(polh,5),p)>=2)
196+ {
197+- polh=gmul(gsubst(polh,0,gdiv(polx[0],p)),gpuigs(p,3));
198++ polh=gmul(gsubst(polh,0,gdiv(pol_x(0),p)),gpuigs(p,3));
199+ theta=gadd(theta,gun);
200+ alpha=0;
201+ beta=beta-1;
202+@@ -1762,13 +1762,13 @@
203+ }
204+ if(lgef(polhp)==9&&!gcmp0(theta))
205+ {
206+- pro=gdiv(polhp,gpuigs(polx[0],3));
207++ pro=gdiv(polhp,gpuigs(pol_x(0),3));
208+ fac=factmz(pro,p);
209+ if(!cmpis((GEN)fac[1],3))
210+ {
211+ rac=(GEN)fac[2];
212+ rac=lift(gdiv(gneg(truecoeff(rac,0)),truecoeff(rac,1)));
213+- pro=gsubst(polh,0,gadd(rac,gmul(p,polx[0])));
214++ pro=gsubst(polh,0,gadd(rac,gmul(p,pol_x(0))));
215+ if(polval(pro,p)>=3)
216+ {
217+ polh=gdiv(pro,gpuigs(p,3));
218+@@ -1815,7 +1815,7 @@
219+ if(lgef(polhp)!=6)
220+ {printf("bug, on ne doit pas arriver dans discpart");fflush(stdout);exit(1);}
221+ list=factorpadicnonun(polh,p,ord);
222+- prod=polun[varn(polh)];
223++ prod=pol_1(varn(polh));
224+ for(i=1;i<lg(list);i++)
225+ {
226+ facti=(GEN)list[i];
227+@@ -1837,7 +1837,7 @@
228+ long
229+ myvalzi(GEN b) /* valuation par rapport a 3 dans Z[i] */
230+ {
231+- return min(myval(greal(b),stoi(3)),myval(gimag(b),stoi(3)));
232++ return minss(myval(greal(b),stoi(3)),myval(gimag(b),stoi(3)));
233+ }
234+
235+ GEN
236+@@ -1853,15 +1853,15 @@
237+ polh=pol;
238+ if(alpha) polh=gdiv(pol,p);
239+ beta=0;
240+- rac=gadd(lift(gdiv(gmul(unmodp,truecoeff(polh,3)),gmul(unmodp,truecoeff(polh,6)))),gi);
241++ rac=gadd(lift(gdiv(gmul(unmodp,truecoeff(polh,3)),gmul(unmodp,truecoeff(polh,6)))),gen_I());
242+
243+ labelm6:
244+- polh=gsubst(polh,0,gadd(polx[0],rac));
245++ polh=gsubst(polh,0,gadd(pol_x(0),rac));
246+ theta=calthetazi(polh);
247+ if(gcmp(theta,gun)>=0)
248+ {
249+ ent=gfloor(theta);pent=gpui(p,ent,0);
250+- polh=gdiv(gsubst(polh,0,gmul(pent,polx[0])),gpuigs(pent,3));
251++ polh=gdiv(gsubst(polh,0,gmul(pent,pol_x(0))),gpuigs(pent,3));
252+ alpha=(alpha+itos(ent))&1;
253+ beta=beta+itos(ent);
254+ theta=gsub(theta,ent);
255+@@ -1879,7 +1879,7 @@
256+ {
257+ if(myvalzi(truecoeff(polh,6))>=3&&myvalzi(truecoeff(polh,5))>=2&&myvalzi(truecoeff(polh,4))>=1)
258+ {
259+- polh=gmul(gsubst(polh,0,gdiv(polx[0],p)),gpuigs(p,3));
260++ polh=gmul(gsubst(polh,0,gdiv(pol_x(0),p)),gpuigs(p,3));
261+ theta=gadd(theta,gun);
262+ beta=beta-1;
263+ alpha=0;
264+@@ -1907,7 +1907,7 @@
265+ /* on calcule la valuation de b dans Z[i, Y]/(Y^2-3) */
266+ {
267+ b=lift(b);
268+- return min(2*myvalzi(truecoeff(b,0)),2*myvalzi(truecoeff(b,1))+1);
269++ return minss(2*myvalzi(truecoeff(b,0)),2*myvalzi(truecoeff(b,1))+1);
270+ }
271+
272+ GEN
273+@@ -1936,10 +1936,10 @@
274+ {printf("bug, le polynome n'est pas minimal\n");fflush(stdout);exit(1);}
275+ polh=pol;alpha=0;
276+ beta=0;
277+- polh=gdivgs(gsubst(polh,0,gmul(polx[0],y)),27);
278++ polh=gdivgs(gsubst(polh,0,gmul(pol_x(0),y)),27);
279+ if(myvalzi2(truecoeff(polh,4))>0&&myvalzi2(truecoeff(polh,2))>0)
280+ {
281+- if(myvalzi2(gsub(truecoeff(polh,6),truecoeff(polh,0)))>0) rac=gi;
282++ if(myvalzi2(gsub(truecoeff(polh,6),truecoeff(polh,0)))>0) rac=gen_I();
283+ else rac=gun;
284+ }
285+ else
286+@@ -1949,12 +1949,12 @@
287+ }
288+
289+ labelm6:
290+- polh=gsubst(polh,0,gadd(polx[0],rac));
291++ polh=gsubst(polh,0,gadd(pol_x(0),rac));
292+ theta=calthetazi2(polh);
293+ if(gcmp(theta,gun)>=0)
294+ {
295+ ent=gfloor(theta);pent=gpui(y,ent,0);
296+- polh=gdiv(gsubst(polh,0,gmul(pent,polx[0])),gpuigs(pent,3));
297++ polh=gdiv(gsubst(polh,0,gmul(pent,pol_x(0))),gpuigs(pent,3));
298+ alpha=(alpha+itos(ent))&1;
299+ beta=beta+itos(ent);
300+ theta=gsub(theta,ent);
301+@@ -1998,7 +1998,7 @@
302+ u=truecoeff(lift(u),0);
303+ a=gmul(unmodp,greal(u));
304+ b=gmul(unmodp,gimag(u));
305+- u=gadd(a,gmul(b,gi));
306++ u=gadd(a,gmul(b,gen_I()));
307+ return u;
308+ }
309+
310+@@ -2020,7 +2020,7 @@
311+ {
312+ fac=(GEN)factmod(polhp,p);
313+ for(i=1;i<lg((GEN)fac[2]);i++)
314+- m=max(m,itos(gcoeff(fac,i,2)));
315++ m=maxss(m,itos(gcoeff(fac,i,2)));
316+ for(i=1;i<lg((GEN)fac[1]);i++)
317+ if(!cmpis(gcoeff(fac,i,2),m)) l=i;
318+ z=gcoeff(fac,l,1);
319
320=== modified file 'debian/patches/series'
321--- debian/patches/series 2008-05-27 20:14:20 +0000
322+++ debian/patches/series 2011-08-25 13:03:53 +0000
323@@ -1,1 +1,2 @@
324 makefile.patch
325+pari_2.5.patch

Subscribers

People subscribed via source and target branches

to all changes: